【发布时间】:2019-03-08 09:44:35
【问题描述】:
来自docs:
阶段概述
- timers:这个阶段执行由 setTimeout() 和 设置间隔()。
- 待处理回调:执行延迟到的 I/O 回调 下一个循环迭代。
- 空闲,准备:仅在内部使用。
- poll:检索新的 I/O 事件;执行 I/O 相关的回调(几乎所有 除了关闭回调,由计时器安排的回调, 和 setImmediate());节点会在适当的时候阻塞在这里。
- 检查: setImmediate() 回调在这里被调用。关闭回调:一些
- 关闭回调,例如socket.on('close', ...)。
在事件循环的每次运行之间,Node.js 检查它是否正在等待 对于任何异步 I/O 或计时器,如果有,则干净地关闭 没有。
我无法理解第四个项目符号。尤其是“node will block here when appropriate.”这一行
在什么情况下Node会阻塞自己,为什么?
【问题讨论】:
标签: node.js