Quantcast
Channel: CNode:Node.js专业中文社区
Viewing all articles
Browse latest Browse all 14821

关于《深入浅出 Node.js》中 nextTick 和 setImmediate 的一段代码的疑问

$
0
0

书上代码如下:

process.nextTick(function () {
  console.log('nextTick延迟执行1');
});

process.nextTick(function () {
  console.log('nextTick延迟执行2');
});

setImmediate(function () {
  console.log('setImmediate 延迟执行1');
  process.nextTick(function () {
    console.log('强势插入');
  });
});

setImmediate(function () {
  console.log('setImmediate延迟执行2');
});

console.log('正常执行');

代码如上,书上说输出顺序是

正常执行
nextTick延迟执行1
nextTick延迟执行2
setImmediate延迟执行1
强势插入
setImmediate延迟执行2

但是我自己运行了一下发现顺序是这样

正常执行
nextTick延迟执行1
nextTick延迟执行2
setImmediate延迟执行1
setImmediate延迟执行2
强势插入

node 的版本为 v6.3.0

这是怎么回事呢?


Viewing all articles
Browse latest Browse all 14821

Trending Articles