Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.
WorkerGlobalScope: Methode queueMicrotask()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since Juli 2020.
Hinweis: Diese Funktion ist nur inWeb Workers verfügbar.
DiequeueMicrotask() Methode derWorkerGlobalScope Schnittstellereiht eine Mikrotask ein, die zu einem sicheren Zeitpunkt vor der Rückkehr der Kontrolle an dieEreignisschleife des Browsers ausgeführt wird.
Die Mikrotask ist eine kurze Funktion, die nachAbschluss der aktuellen Aufgabe ausgeführt wird und wenn kein anderer Code darauf wartet,ausgeführt zu werden, bevor die Kontrolle des Ausführungskontexts an die Ereignisschleife des Browsers zurückgegeben wird.
Dadurch kann Ihr Code ausgeführt werden, ohne andere, potenziell höher priorisierteCode-Pendenzen zu stören, jedoch bevor der Browser die Kontrolle überden Ausführungskontext wiedererlangt, möglicherweise abhängig von Arbeit, die Sie abschließen müssen. Sie können mehr darüber erfahren, wie Sie Mikrotasks verwenden und warum Sie sich dafür entscheiden könnten, in unseremLeitfaden zu Mikrotasks.
Die Bedeutung von Mikrotasks liegt in der Fähigkeit, Aufgaben asynchron, aber in einer bestimmten Reihenfolge auszuführen. Weitere Details finden Sie unterVerwendung von Mikrotasks in JavaScript mitqueueMicrotask().
Mikrotasks sind besonders nützlich für Bibliotheken und Frameworks, die Bereinigungen oder andere Aufgaben direkt vor der Darstellung durchführen müssen.
In diesem Artikel
Syntax
queueMicrotask(callback)Parameter
Rückgabewert
Keiner (undefined).
Beispiele
queueMicrotask(() => { // function contents here});Aus denqueueMicrotask-Spezifikationen:
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")); }); }};Spezifikationen
| Specification |
|---|
| HTML> # microtask-queuing> |