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
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.
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.