一道输出题目
来源:5-10 -浏览器和nodejs事件循环(Event Loop)有什么区别-nodejs
慕莱坞9486019
2022-03-04
setImmediate(() => {
console.log(1);
Promise.resolve().then(() => {
console.log(2);
});
}, 0);
new Promise((resolve) => {
console.log(3);
resolve();
}).then(() => {
console.log(4);
process.nextTick(() => {
console.log(5)
});
setTimeout(() => {
console.log(6);
}, 0);
}).then(() => {
console.log(7);
});
console.log(8);
最近笔试题里遇到这道题
正确答案是3,8,4,7,5,1,2,6,我写的答案是把7和5的输出顺序写反了,请问双越老师,微任务里process.nextTick()的优先级不是更高么?为什么then的链式调用会先把7打印出来,在打印5,求教~
写回答
2回答
-
慕斯卡7246137
2022-03-16
我这边运行你的代码,输出的是3,8,4,7,5,6,1,2
012022-06-27 -
双越
2022-03-04
如下图。A函数先被注册,而后 B 函数才被注册的。所以肯定 7 先输出。
022022-05-31
相似问题