[ Web Proxy ]
URL:
Viewing: https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/AsyncIterator [Back]  [Original]

AsyncIterator - JavaScript | MDN

Dieser Inhalt wurde automatisch aus dem Englischen bersetzt, und kann Fehler enthalten. Erfahre mehr ber dieses Experiment.

View in English Always switch to English

AsyncIterator

Baseline Weitgehend verfgbar *

Diese Funktion ist gut etabliert und funktioniert auf vielen Gerten und in vielen Browserversionen. Sie ist seit Januar 2020 browserbergreifend verfgbar.

* Einige Teile dieser Funktion werden mglicherweise unterschiedlich gut untersttzt.

Ein AsyncIterator-Objekt ist ein Objekt, das dem async iterator protocol entspricht, indem es eine next()-Methode bereitstellt, die ein Promise zurckgibt, das ein Iterator-Resultat-Objekt erfllt. 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 zurckgibt und den async Iterator somit auch async iterable macht.

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:

js
const AsyncIteratorPrototype = Object.getPrototypeOf(
  Object.getPrototypeOf(Object.getPrototypeOf((async function* () {})())),
);

In diesem Artikel

Beschreibung

Derzeit ist der einzige eingebaute JavaScript async Iterator das AsyncGenerator-Objekt, das von async generator functions zurckgegeben wird. Es gibt einige andere eingebaute async Iteratoren in Web-APIs, wie z.B. einen 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 zurckgibt und den async Iterator somit auch async iterable macht.

Hinweis: AsyncIterator.prototype implementiert nicht [Symbol.iterator](), sodass async Iteratoren standardmig nicht sync iterable sind.

Instanzmethoden

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 ermglicht es, entsorgt zu werden, wenn es mit await using verwendet wird.

AsyncIterator.prototype[Symbol.asyncIterator]()

Gibt das async Iterator-Objekt selbst zurck. Dadurch knnen 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 einer for await...of-Schleife verwenden knnen:

js
const asyncIterator = (async function* () {
  yield 1;
  yield 2;
  yield 3;
})();
(async () => {
  for await (const value of asyncIterator) {
    console.log(value);
  }
})();
// Logs: 1, 2, 3

Spezifikationen

Spezifikation
ECMAScript 2027 LanguageSpecification
# sec-asynciteratorprototype

Browser-Kompatibilitt

Siehe auch


Web Proxy Viewer  |  New URL  |  Original Page