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 |
浏览器兼容性
加载中…