Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当作业队列进入javascript事件循环时,它究竟是什么?_Javascript - Fatal编程技术网

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

当作业队列进入javascript事件循环时,它究竟是什么?,javascript,Javascript,我知道事件循环及其运行方式。最近,我阅读了一些关于承诺的书籍,了解到ECS6和较低规格之间的区别之一就是它。javascript引擎现在对如何在事件循环队列上调度任务有影响。 现在有了作业队列的新概念,据说它位于事件循环迭代的末尾。请有人向我清楚地解释什么是作业队列,它是如何运行的,以及它如何帮助安排事件循环队列上的任务。我似乎没有从任何地方得到明确的解释。出现在事件循环队列迭代末尾的“作业队列”通常称为“微任务队列” 添加到微队列的作业仅在事件循环的当前调用完成后连续执行,而事件循环管理器不会

我知道事件循环及其运行方式。最近,我阅读了一些关于承诺的书籍,了解到
ECS6
和较低规格之间的区别之一就是它。javascript引擎现在对如何在事件循环队列上调度任务有影响。 现在有了
作业队列的新概念,据说它位于事件循环迭代的末尾。请有人向我清楚地解释什么是
作业队列
,它是如何运行的,以及它如何帮助安排事件循环队列上的任务。我似乎没有从任何地方得到明确的解释。

出现在事件循环队列迭代末尾的“作业队列”通常称为“微任务队列”

添加到微队列的作业仅在事件循环的当前调用完成后连续执行,而事件循环管理器不会决定下一步运行什么,直到微队列为空

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

ES6规范只是说明PromiseJob进入“PromiseJob”队列,没有指定任何特定JavaScript应用程序(如浏览器)的实现细节,也没有提到“微任务”这个词

一个相关的问题,包含关于什么是“作业队列”的正式定义的附加定义和链接