Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.
AsyncIterator
Baseline Widely available *
This feature is well established and works across many devices and browser versions. It’s been available across browsers since Januar 2020.
* Some parts of this feature may have varying levels of support.
EinAsyncIterator-Objekt ist ein Objekt, das demasync iterator protocol entspricht, indem es einenext()-Methode bereitstellt, die ein Promise zurückgibt, das ein Iterator-Resultat-Objekt erfüllt. DasAsyncIterator.prototype-Objekt ist ein verstecktes globales Objekt, von dem alle eingebauten async Iteratoren erben. Es bietet eine[Symbol.asyncIterator]()-Methode, die das async Iterator-Objekt selbst zurückgibt und den async Iterator somit auchasync iterable macht.
Beachten Sie, dassAsyncIteratorkein globales Objekt ist, obwohl es dies in Zukunft mit demasync iterator helpers proposal sein wird. DasAsyncIterator.prototype-Objekt, das von allen eingebauten async Iteratoren geteilt wird, kann mit dem folgenden Code erhalten werden:
const AsyncIteratorPrototype = Object.getPrototypeOf( Object.getPrototypeOf(Object.getPrototypeOf((async function* () {})())),);In diesem Artikel
Beschreibung
Derzeit ist der einzige eingebaute JavaScript async Iterator dasAsyncGenerator-Objekt, das vonasync generator functions zurückgegeben wird. Es gibt einige andere eingebaute async Iteratoren in Web-APIs, wie z.B. einenReadableStream.
Jeder dieser async Iteratoren hat ein eigenes Prototyp-Objekt, das dienext()-Methode definiert, die vom jeweiligen async Iterator verwendet wird. Alle diese Prototyp-Objekte erben vonAsyncIterator.prototype, das eine[Symbol.asyncIterator]()-Methode bietet, die das async Iterator-Objekt selbst zurückgibt und den async Iterator somit auchasync iterable macht.
Hinweis:AsyncIterator.prototype implementiert nicht[Symbol.iterator](), sodass async Iteratoren standardmäßig nichtsync iterable sind.
Instanzmethoden
AsyncIterator.prototype[Symbol.asyncDispose]()Ruft die
return()-Methode vonthisauf und wartet auf sie, falls sie existiert. Dies implementiert dasasync disposable protocol und ermöglicht es, entsorgt zu werden, wenn es mitawait usingverwendet wird.AsyncIterator.prototype[Symbol.asyncIterator]()Gibt das async Iterator-Objekt selbst zurück. Dadurch können async Iterator-Objekte auch async iterable sein.
Beispiele
>Verwendung eines async Iterators als async iterable
Alle eingebauten async Iteratoren sind auch async iterable, sodass Sie sie in einerfor await...of-Schleife verwenden können:
const asyncIterator = (async function* () { yield 1; yield 2; yield 3;})();(async () => { for await (const value of asyncIterator) { console.log(value); }})();// Logs: 1, 2, 3Spezifikationen
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-asynciteratorprototype> |