NodeJS事件环

1. 执行顺序说明

1. 清空主执行栈

2. 清空微任务队列

3. 运行一个timer队列的回调函数,询问微任务队列,如果有回调函数,清空。

4. 循环第3步,直到清空timer队列

5. 进入poll队列,执行poll队列的回调函数,询问微任务队列,清空微任务队列。

6. 循环第5步,清空poll队列

7.清空check队列

8. 从第2步再次循环

 示例1:

setTimeout(() => {
    console.log('timeout')
})
setImmediate(() => {
    console.log('immediate')
})

// node命令执行后,根据运行环境不同,先后顺序不一定。
// 如果setTimout回调函数先进入队列,先执行;否则setImmediate先执行

猜你喜欢

转载自www.cnblogs.com/lyraLee/p/11867953.html