当作业队列进入 javascript 事件循环时,它到底是什么?



我知道事件循环及其操作方式。最近我阅读以很好地理解承诺,并了解到ECS6和较低规格之间的区别之一。javascript 引擎现在对如何在事件循环队列上调度任务有影响。 现在有一个新的概念,即job queue据说它存在于事件循环迭代的末尾。有人可以清楚地向我解释job queue是什么,它是如何运作的以及它如何帮助调度事件循环队列上的任务。我似乎没有从任何地方得到明确的驱逐。

"出现在事件循环队列迭代结束时"的"作业队列"通常称为"微任务队列"。

添加到微队列的作业只是在事件循环的当前标注完成后连续执行,事件循环管理器不会对下一步运行的内容做出任何决定,直到微队列为空。

由承诺结算导致的承诺反应作业被放置在微队列中。因此,它们在事件队列中的任何活动标注完成后立即以最高优先级运行。

ES6 规范只是简单地指出 Promise 作业进入"PromiseJob"队列,没有指定任何特定 JavaScript 应用程序(如浏览器(的实现细节,也没有提到"微任务"这个词。

一个相关的问题"事件循环队列"和"作业队列">

有什么区别?,包含有关"作业队列"是什么的正式定义的其他定义和链接。

最新更新