Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.
Window: queueMicrotask() Methode
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.
DiequeueMicrotask()-Methode desWindow-Interfacesreiht eine Mikrotask ein, die zu einem sicheren Zeitpunkt vor der Rückgabe der Kontrolle an die Ereignisschleife des Browsers ausgeführt wird.
Die Mikrotask ist eine kurze Funktion, die nach Abschluss der aktuellen Aufgabe 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, ausgeführt wird.
Dies ermöglicht es Ihrem Code, ohne Beeinträchtigung anderer, potenziell höher priorisierter, ausstehender Codes zu laufen, jedoch bevor der Browser die Kontrolle über den Ausführungskontext zurückerlangt, möglicherweise abhängig von Arbeiten, die Sie abschließen müssen. Sie können mehr darüber erfahren, wie Sie Mikrotasks verwenden und warum Sie dies möglicherweise tun möchten, in unseremMikrotask-Leitfaden.
Die Bedeutung von Mikrotasks liegt in ihrer Fähigkeit, Aufgaben asynchron, aber in einer bestimmten Reihenfolge auszuführen. Weitere Einzelheiten finden Sie unterVerwenden von Mikrotasks in JavaScript mitqueueMicrotask().
Mikrotasks sind besonders nützlich für Bibliotheken und Frameworks, die eine abschließende Bereinigung oder andere Aufgaben unmittelbar vor dem Rendern durchführen müssen.
In diesem Artikel
Syntax
queueMicrotask(callback)Parameter
Rückgabewert
Keine (undefined).
Beispiele
queueMicrotask(() => { // function contents here});Entnommen aus derqueueMicrotask-Spezifikation:
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> |