传递给 setImmediate 函数的回调将在事件队列上的下一次迭代中执行。
另一方面,回调传递给 process.nextTick 在下一次迭代之前以及程序中当前运行的操作完成之后执行。在应用程序启动时,开始遍历事件队列之前调用它的回调。
因此,回调 process.nextTick 总是在 setImmediate 之前调用。
下面代码段:
setImmediate(() => {
console.log("first");
})
process.nextTick(() => {
console.log("second");
})
console.log("third");
将按顺序输出:
third
second
first