WorkerGlobalScope:queueMicrotask() 方法
注意:此功能僅在 Web Workers 中可用。
queueMicrotask() 方法屬於 WorkerGlobalScope 介面,它將一個微任務加入佇列,以便在控制權安全地返回到瀏覽器的事件迴圈之前執行。
微任務是一個簡短的函式,它將在當前任務完成其工作後執行,並且在控制權返回到瀏覽器的事件迴圈之前,沒有其他程式碼在等待執行。
這使得您的程式碼可以執行,而不會干擾任何其他可能具有更高優先順序的待執行程式碼,但會在瀏覽器重新獲得執行上下文的控制權之前執行,這可能取決於您需要完成的工作。您可以在我們的微任務指南中瞭解更多關於如何使用微任務以及為什麼選擇使用它的資訊。
微任務的重要性在於它能夠以特定的順序非同步執行任務。有關更多詳細資訊,請參閱使用 JavaScript 和 queueMicrotask() 中的微任務。
微任務對於需要執行最終清理或其他渲染前任務的庫和框架尤其有用。
語法
js
queueMicrotask(callback)
引數
返回值
無(undefined)。
示例
js
queueMicrotask(() => {
// function contents here
});
js
MyElement.prototype.loadData = function (url) {
if (this._cache[url]) {
queueMicrotask(() => {
this._setData(this._cache[url]);
this.dispatchEvent(new Event("load"));
});
} else {
fetch(url)
.then((res) => res.arrayBuffer())
.then((data) => {
this._cache[url] = data;
this._setData(data);
this.dispatchEvent(new Event("load"));
});
}
};
規範
| 規範 |
|---|
| HTML # microtask-queuing |
瀏覽器相容性
載入中…