Iterator.prototype[Symbol.dispose]()

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

No specification found

No specification data found for javascript.builtins.Iterator.@@dispose.
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