AsyncIterator.prototype[Symbol.asyncDispose]()

Die [Symbol.asyncDispose]() Methode von AsyncIterator Instanzen implementiert das asynchrone Entsorgungsprotokoll und ermöglicht es, entsorgt zu werden, wenn es mit await using verwendet wird. Sie ruft die return() Methode von this auf und wartet diese ab, falls sie existiert.

Syntax

js
asyncIterator[Symbol.asyncDispose]()

Parameter

Keine.

Rückgabewert

Keine (undefined).

Beispiele

Deklaration eines asynchronen Iterators mit await using

Die Methode Symbol.asyncDispose soll automatisch in einer await using-Deklaration aufgerufen werden. Dies ist nützlich, wenn Sie einen asynchronen Iterator haben, den Sie manuell durch Aufruf seiner next() Methode iterieren; wenn Sie ihn mit for await...of oder etwas Ähnlichem iterieren, dann werden Fehlerbehandlung und Aufräumarbeiten automatisch durchgeführt.

js
async function* generateNumbers() {
  try {
    yield 1;
    yield 2;
    yield 3;
  } finally {
    console.log("Cleaning up");
  }
}

async function doSomething() {
  await using numbers = generateNumbers();
  const res1 = await numbers.next();
  // Not iterating the rest of the numbers
  // Before the function exits, the async iterator is disposed
  // Logs "Cleaning up"
}

doSomething();

Spezifikationen

No specification found

No specification data found for javascript.builtins.AsyncIterator.@@asyncDispose.
Check for problems with this page or contribute a missing spec_url to mdn/browser-compat-data. Also make sure the specification is included in w3c/browser-specs.

Browser-Kompatibilität

Siehe auch