根據(jù)我理解的 nodejs 的事件循環(huán)機(jī)制,在poll階段如果poll隊(duì)列不為空,則會(huì)遍歷隊(duì)列并執(zhí)行回調(diào),當(dāng)poll隊(duì)列為空了,再執(zhí)行下一階段的setImmediate()的回調(diào)。問(wèn)題出自一下代碼:`setTimeout(() => {console.log('0毫秒后執(zhí)行的定時(shí)器回調(diào)')}, 0)readFile('../package.json', 'utf-8', data => {console.log('完成文件 1 讀操作的回調(diào)')})setImmediate(() => {console.log('immediate 立即回調(diào)')})process.nextTick(() => {console.log('process.nextTick的回調(diào)')})`輸出結(jié)果:process.nextTick的回調(diào)0毫秒后執(zhí)行的定時(shí)器回調(diào)immediate 立即回調(diào)完成文件 1 讀操作的回調(diào)請(qǐng)問(wèn)為什么是先執(zhí)行 setImmediate 而不是 readFile 的回調(diào)?
- 1 回答
- 0 關(guān)注
- 640 瀏覽
添加回答
舉報(bào)
0/150
提交
取消