Iterator.prototype[Symbol.dispose]()
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Die [Symbol.dispose]()
-Methode von Iterator
-Instanzen implementiert das disposable protocol und ermöglicht es, den Iterator zu entsorgen, wenn er mit using
verwendet wird. Sie ruft die return()
-Methode von this
auf, falls diese existiert.
Syntax
js
iterator[Symbol.dispose]()
Parameter
Keine.
Rückgabewert
Keiner (undefined
).
Beispiele
>Deklarieren eines Iterators mit using
Die Symbol.dispose
-Methode soll in einer using
-Deklaration automatisch aufgerufen werden. Dies ist nützlich, wenn Sie einen Iterator haben, den Sie manuell durch Aufrufen seiner next()
-Methode durchlaufen; wenn Sie ihn mit for...of
oder etwas Ähnlichem durchlaufen, werden Fehlerbehandlung und Bereinigung automatisch durchgeführt.
js
function* generateNumbers() {
try {
yield 1;
yield 2;
yield 3;
} finally {
console.log("Cleaning up");
}
}
function doSomething() {
using numbers = generateNumbers();
const res1 = numbers.next();
// Not iterating the rest of the numbers
// Before the function exits, the async iterator is disposed
// Logs "Cleaning up"
}
doSomething();
Spezifikationen
Specification |
---|
ECMAScript Async Explicit Resource Management> # sec-%iteratorprototype%-@@dispose> |
Browser-Kompatibilität
Loading…