【发布时间】:2022-11-27 09:15:33
【问题描述】:
我正在阅读 JavaScript 堆栈中的微任务和宏任务。我写了这段代码:
Promise.resolve().then(function () {
setTimeout(function () {
console.log('from promise one');
}, 0);
}).then(() => {
console.log('from promise two');
});
setTimeout(function () {
console.log('from timeout');
}, 0);
但我意识到 from timeout 在控制台中显示的速度比 from promise one 快......
据我了解,Promise. then() 是一个微任务并在宏任务之前执行,其中 from timeout 是这里的微任务......但是为什么先执行 timeout 然后执行 Promise. then?
【问题讨论】:
标签: javascript