前端相关

从process.nextTick(cb)/Promise说起,

2017-12-29  本文已影响3人  DeeJay_Y

上次写了对JS的执行机制的一些初步理解,分为同步任务和异步任务,task queue,event loop等。
然后我看到了这么一段代码:

setTimeout(function() {
    console.log('setTimeout');
})

new Promise(function(resolve) {
    console.log('promise');
    resolve()
}).then(function() {
    console.log('then');
})

console.log('console');

最后的输出结果是我不理解的:

// promise
// console
// then
// setTimeout

那就从这开始说起

对同步任务和异步任务更精细的分类: macro-task和micro-task

除了广义的同步任务和异步任务,我们对任务有更精细的定义:

不同类型的任务会进入对应的Event Queue,比如setTimeout和setInterval会进入 macro-task队列。

上一篇下一篇

猜你喜欢

热点阅读