NodeJS事件环

喜欢而已 提交于 2019-12-04 13:33:00

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先执行

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!