nodeJS 事件循环问题

根据我理解的 nodejs 的事件循环机制,在poll阶段如果poll队列不为空,则会遍历队列并执行回调,当poll队列为空了,再执行下一阶段的setImmediate()的回调。

问题出自一下代码:
`setTimeout(() => {
console.log('0毫秒后执行的定时器回调')
}, 0)

readFile('../package.json', 'utf-8', data => {
console.log('完成文件 1 读操作的回调')
})

setImmediate(() => {
console.log('immediate 立即回调')
})

process.nextTick(() => {
console.log('process.nextTick的回调')
})`

输出结果:
process.nextTick的回调
0毫秒后执行的定时器回调
immediate 立即回调
完成文件 1 读操作的回调

请问为什么是先执行 setImmediate 而不是 readFile 的回调?


慕仙森
浏览 614回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Node.js