JavaScript事件循环:队列vs消息队列vs事件队列

Fla*_*pes 8 javascript event-loop

通过阅读许多JavaScript Event Loop教程,我看到了不同的术语来标识队列,这些队列存储了当Call Stack为空时准备由Event Loop提取的消息:

  • 队列
  • 消息队列
  • 事件队列

我找不到规范的术语来识别这一点。

甚至MDN在“事件循环”页面上似乎也很困惑,因为它首先将其称为“ 队列”,然后说“ 消息队列”,但是在标签中我看到了“ 事件队列”

循环的这一部分是在详细信息的某个地方定义的,还是仅仅是一个没有“固定”名称的实现细节?

Wil*_*een 8

很好的问题,我还是倡导使用正确的术语。

队列,消息队列和事件队列引用相同的构造(事件循环队列)。此构造具有在事件循环中触发的回调。

有趣的是,作业队列和事件循环队列有两个不同的队列。作业队列是专门为诺言而设计的。作业队列比事件循环队列具有更高的优先级,因此,如果两个队列中都有两个可用的回调,则作业队列中的回调将首先放在堆栈中。

希望这能回答您的问题。