Get to know MDN better
Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Januar 2020 browserübergreifend verfügbar.
Das AsyncGenerator-Objekt wird von einer async generator function zurückgegeben und entspricht sowohl dem async iterable protocol als auch dem async iterator protocol.
Async-Generator-Methoden geben immer Promise-Objekte zurück.
AsyncGenerator ist eine Unterklasse der versteckten AsyncIterator-Klasse.
Es gibt keine JavaScript-Entität, die dem AsyncGenerator-Konstruktor entspricht. Instanzen von AsyncGenerator müssen von async generator functions zurückgegeben werden:
Es gibt nur ein verstecktes Objekt, das das Prototyp-Objekt ist, das von allen Objekten geteilt wird, die von async generator functions erstellt werden. Dieses Objekt wird oft als AsyncGenerator.prototype stilisiert, um es wie eine Klasse aussehen zu lassen, aber es sollte angemessener AsyncGeneratorFunction.prototype.prototype genannt werden, da AsyncGeneratorFunction eine tatsächliche JavaScript-Entität ist. Um die Prototypen-Kette von AsyncGenerator-Instanzen zu verstehen, siehe AsyncGeneratorFunction.prototype.prototype.
Diese Eigenschaften sind auf AsyncGenerator.prototype definiert und werden von allen AsyncGenerator-Instanzen geteilt.
AsyncGenerator.prototype.constructorDie Konstruktorfunktion, die das Instanzobjekt erstellt hat. Für AsyncGenerator-Instanzen ist der Anfangswert AsyncGeneratorFunction.prototype.
Hinweis: AsyncGenerator-Objekte speichern keinen Verweis auf die async generator function, die sie erstellt hat.
Der Anfangswert der [Symbol.toStringTag]-Eigenschaft ist der String "AsyncGenerator". Diese Eigenschaft wird in Object.prototype.toString() verwendet.
Erbt ebenfalls Instanz-Methoden von seinem Elternteil AsyncIterator.
AsyncGenerator.prototype.next()Gibt ein Promise zurück, das mit dem angegebenen Wert aufgelöst wird, der durch den yield-Ausdruck geliefert wird.
AsyncGenerator.prototype.return()Verhält sich so, als ob ein return-Statement im Körper des Generators an der aktuellen angehaltenen Position eingefügt wird, was den Generator beendet und es dem Generator ermöglicht, alle Aufräumaufgaben auszuführen, wenn es mit einem try...finally-Block kombiniert wird.
AsyncGenerator.prototype.throw()Verhält sich so, als ob ein throw-Statement im Körper des Generators an der aktuellen angehaltenen Position eingefügt wird, was den Generator über einen Fehlerzustand informiert und es ihm ermöglicht, den Fehler zu behandeln, oder Aufräumarbeiten durchzuführen und sich selbst zu schließen.
Das folgende Beispiel iteriert über einen async generator, der die Werte 1–6 in der Konsole bei abnehmenden Zeitintervallen protokolliert. Beachten Sie, wie jedes Mal ein Promise geliefert wird, das aber automatisch innerhalb der for await...of-Schleife aufgelöst wird.
| ECMAScript® 2027 Language Specification # sec-asyncgenerator-objects |
JavaScript aktivieren, um diese Browser-Kompatibilitätstabelle anzuzeigen.
Der Bauplan für ein besseres Internet.
Besuche die gemeinnützige Muttergesellschaft der Mozilla Corporation, die Mozilla Foundation.
Teile dieses Inhalts sind ©1998–2026 von einzelnen mozilla.org-Mitwirkenden. Inhalte sind verfügbar unter einer Creative-Commons-Lizenz.