作者:461067805QQ | 来源:互联网 | 2022-12-08 12:25
阅读了几篇描述Node.js事件循环的文章和文档,例如Node.js自己提供的文章和文档:https://nodejs.org/en/docs/guides/event-loop-timers-and-nexttick /
我根本无法解决这个问题:为什么事件循环需要几个阶段,每个阶段都有自己的回调队列?
所有文档和文章都描述了循环的阶段,"这个阶段确实如此,并执行使用X或Y设置的回调",但从未真正阐述为什么这些单独的队列首先是必要的.
为什么setTimeout()或setImmediate()或socket闭包的回调需要在与轮询阶段不同的点执行,而轮询阶段应该执行绝大部分的回调?
如果轮询阶段的回调队列在转移到下一阶段之前已经耗尽,为什么不只是为了在其他阶段中执行任何非队列相关操作而中断一个队列?