首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >setImmediate与setTimeout(fn,0)有何不同

setImmediate与setTimeout(fn,0)有何不同
EN

Stack Overflow用户
提问于 2018-04-23 20:57:14
回答 1查看 354关注 0票数 1

这正是setImmediatesetTimeout所经历的所有阶段。

没有很好地解释所有阶段setImmediate和setTimeout到底经历了什么,请参阅nodeJS guide。一旦阶段概述部分说I/O回调阶段负责setImmediate,在poll和check部分又说check阶段负责setImmediate。所以我对它有点困惑。IO/回调和/或检查。

有人能解释一下事件循环中setTimeoutsetImmediate的生命周期以及它们是如何执行的吗?

EN

回答 1

Stack Overflow用户

发布于 2019-08-01 01:43:13

setTimeout回调在计时器阶段执行,而setImmediate回调在检查阶段执行。

由于计时器阶段在检查阶段之前,因此在setImmediate回调之前将执行setTimeout(fn,0)。

文档也提到了它,下面我引用了阶段概述部分的投票阶段,在那里他们提到了例外。

轮询:检索新的I/O事件;执行与I/O相关的回调(几乎所有使用关闭回调的exception、计时器调度的和setImmediate());节点将在适当的时候阻塞。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49981696

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档