Skip to content

process.nextTick, setTimeout 以及 setImmediate 三者的执行顺序?

Posted on:2024年8月14日 at 14:17

在 Node.js 中,process.nextTicksetTimeoutsetImmediate 是三种用于在事件循环的不同阶段执行回调函数的方法。它们的执行顺序遵循特定的规则,这取决于事件循环的阶段。以下是这三者的执行顺序和细节:

1. process.nextTick

2. setTimeout

3. setImmediate

执行顺序示例

console.log("Start");

process.nextTick(() => {
  console.log("process.nextTick");
});

setTimeout(() => {
  console.log("setTimeout");
}, 0);

setImmediate(() => {
  console.log("setImmediate");
});

console.log("End");

输出顺序

  1. Start - console.log 执行
  2. End - console.log 执行
  3. process.nextTick - process.nextTick 回调执行
  4. setTimeout - setTimeout 回调执行
  5. setImmediate - setImmediate 回调执行
原文转自:https://fe.ecool.fun/topic/d74aa7b7-f554-4ee8-9adb-2599e1caf57c