请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

如果是我们自己写的callback函数 如果想要使用异步event loop机制 是不是只能包在promise中使用

第一段代码 myCalculator中包含callback函数
function myDisplayer(some) {
console.log(some);
}

function myCalculator(num1, num2, myCallback) {
let sum = num1 + num2;
myCallback(sum);
}

console.log(1);
myCalculator(5, 5, myDisplayer);
console.log(2);

输出为1102
同步输出

第二段代码
function myCalculator(num1, num2) {
return new Promise((resolve, reject) => {
const sum = num1 + num2;
if(sum){
resolve(sum);
}else {
reject(new Error(‘has Error’))
}
})
}
console.log(1);
myCalculator(5, 5).then((sum) => console.log(sum));
console.log(2);

输出为1210
异步输出

如果想要异步输出除了把function包在promise中 是否还有别的办法

正在回答 回答被采纳积分+3

1回答

双越 2021-10-06 08:40:00

没懂你的意思。什么叫“自己写代码,要使用异步 event loop 机制?”

event loop 是异步的实现原理,一个模型,它无法被使用。你可以说“使用异步完成 xx 功能”。


【另】你提交问题时,代码一定要格式化一下,否则太不易读了。

0 回复 有任何疑惑可以回复我~
  • 提问者 慕前端6301706 #1
    谢谢老师回复
    我的意思是像是setTimeOut 或者是image onLoad 这样的函数,他们的callback会被异步挂起再推到callback queue里,如果我们自己写一个function,想要实现类似这样异步的函数,是不是只能用promise包起来?
    回复 有任何疑惑可以回复我~ 2021-10-06 16:10:13
  • 双越 回复 提问者 慕前端6301706 #2
    可以用 promise ,也可以用 setTimeout ,这俩选择就够了。两者之间,推荐使用 promise 。
    回复 有任何疑惑可以回复我~ 2021-10-06 22:10:30
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信