setTimeout(Func,0)在setImmediate之前执行?

时间:2018-04-21 18:53:47

标签: node.js settimeout v8 event-loop libuv

根据我的理解,setImmediate在事件循环的Check阶段执行。 Poll阶段计划在Timers阶段执行定时器,如果它们的最小阈值已经过去。

但是下面的代码在setImmediate之前执行计时器回调(并不总是)。这是怎么可能的,因为计时器应该安排在Poll阶段,而Check阶段是在它之后呢?

是否与主模块中执行的代码相关,如果是这样,setImmediate有时会在定时器之前执行吗?

setTimeout(function() {
  console.log('setTimeout');
}, 0);

setImmediate(function() {
  console.log('setImmediate');
});

0 个答案:

没有答案