CNode

关于深入浅出node.js一书中process.nextTick()和setImmediate()的问题

问答
Ddreamsline发布于8 年前最后回复8 年前4 回复2950 浏览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 强势插入

查看回复

回复 (4)

D
dreamsline#1·8 年前
引用 nullcc@dreamsline 这篇文章可以看看 https://nodejs.org/en/docs/guides/event loop timers and nexttick/ 结合我回复里的帖子...

@nullcc 喔喔,花了半天的时间理解英文句子,又结合着上面说的终于懂了,谢谢。

N
nullcc#2·8 年前
D
dreamsline#3·8 年前

喔喔,好的,谢谢,我看完了,还是有点晕。

N
nullcc#4·8 年前

@dreamsline 这篇文章可以看看 https://nodejs.org/en/docs/guides/event-loop-timers-and-nexttick/ 结合我回复里的帖子理解

参与回复
登录后即可参与回复。登录