簡體   English   中英

當進入 javascript 事件循環時,作業隊列究竟是什么?

[英]What exactly is a job queue when it gets to javascript event looping?

我了解事件循環及其運作方式。 最近我閱讀以了解ECS6並了解到ECS6與較低規范之間的差異之一。 javascript 引擎現在對如何在事件循環隊列上安排任務產生影響。 現在有一個job queue新概念,據說它存在於事件循環迭代的末尾。 有人可以向我清楚地解釋一下job queue是什么,它如何操作以及它如何幫助調度事件循環隊列上的任務。 我似乎沒有從任何地方得到明確的解釋。

“出現在事件循環隊列迭代的末尾”的“作業隊列”通常稱為“微任務隊列”。

添加到微隊列的作業會在事件循環的當前調用完成后簡單地連續執行,事件循環管理器不會決定下一步要運行什么,直到微隊列為空。

由承諾結算導致運行的承諾反應作業被放置在微隊列中。 因此,它們在事件隊列中的任何活動調用完成后立即以最高優先級運行。

ES6 規范只是聲明 Promise 作業進入“PromiseJob”隊列,而沒有指定任何特定 JavaScript 應用程序(例如瀏覽器)的實現細節,也沒有提及“微任務”一詞。

一個相關的問題, “事件循環隊列”和“作業隊列”有什么區別? , 包含附加定義和“作業隊列”的正式定義的鏈接。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM