HTML: Markup language
CSS: Styling language
JavaScript: Scripting language
Web APIs: Programming interfaces
All web technology
Learn web development
Discover our tools
Get to know MDN better
Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.
View in English Always switch to English
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Januar 2020 browserübergreifend verfügbar.
* Einige Teile dieser Funktion werden möglicherweise unterschiedlich gut unterstützt.
Ein AsyncIterator-Objekt ist ein Objekt, das dem async iterator protocol entspricht, indem es eine next()-Methode bereitstellt, die ein Promise zurückgibt, das ein Iterator-Resultat-Objekt erfüllt. Das AsyncIterator.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 auch async iterable macht.
AsyncIterator
next()
AsyncIterator.prototype
[Symbol.asyncIterator]()
Beachten Sie, dass AsyncIterator kein globales Objekt ist, obwohl es dies in Zukunft mit dem async iterator helpers proposal sein wird. Das AsyncIterator.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* () {})())), );
Derzeit ist der einzige eingebaute JavaScript async Iterator das AsyncGenerator-Objekt, das von async generator functions zurückgegeben wird. Es gibt einige andere eingebaute async Iteratoren in Web-APIs, wie z.B. einen ReadableStream.
AsyncGenerator
ReadableStream
Jeder dieser async Iteratoren hat ein eigenes Prototyp-Objekt, das die next()-Methode definiert, die vom jeweiligen async Iterator verwendet wird. Alle diese Prototyp-Objekte erben von AsyncIterator.prototype, das eine [Symbol.asyncIterator]()-Methode bietet, die das async Iterator-Objekt selbst zurückgibt und den async Iterator somit auch async iterable macht.
Hinweis: AsyncIterator.prototype implementiert nicht [Symbol.iterator](), sodass async Iteratoren standardmäßig nicht sync iterable sind.
[Symbol.iterator]()
AsyncIterator.prototype[Symbol.asyncDispose]()
Ruft die return()-Methode von this auf und wartet auf sie, falls sie existiert. Dies implementiert das async disposable protocol und ermöglicht es, entsorgt zu werden, wenn es mit await using verwendet wird.
return()
this
await using
AsyncIterator.prototype[Symbol.asyncIterator]()
Gibt das async Iterator-Objekt selbst zurück. Dadurch können async Iterator-Objekte auch async iterable sein.
Alle eingebauten async Iteratoren sind auch async iterable, sodass Sie sie in einer for await...of-Schleife verwenden können:
for await...of
const asyncIterator = (async function* () { yield 1; yield 2; yield 3; })(); (async () => { for await (const value of asyncIterator) { console.log(value); } })(); // Logs: 1, 2, 3
JavaScript aktivieren, um diese Browser-Kompatibilitätstabelle anzuzeigen.
async function*