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

View in English Always switch to English

AsyncDisposableStack.prototype.defer()

Eingeschränkt verfügbar

Diese Funktion ist nicht Baseline, da sie in einigen der am weitesten verbreiteten Browser nicht funktioniert.

Want more browser support for this feature? Tell us why.

Die Methode defer() von AsyncDisposableStack-Instanzen nimmt eine Callback-Funktion entgegen, die aufgerufen und auf deren Ergebnis gewartet wird, wenn der Stack freigegeben wird.

Allgemeine Informationen zur Methode defer() finden Sie unter DisposableStack.prototype.defer().

Syntax

js
defer(onDispose)

Parameter

onDispose

Eine Funktion, die aufgerufen wird, wenn der Stack freigegeben wird. Sie erhält keine Argumente und kann ein Promise zurückgeben, auf dessen Erfüllung gewartet wird.

Rückgabewert

Keiner (undefined).

Ausnahmen

TypeError

Wird ausgelöst, wenn onDispose keine Funktion ist.

ReferenceError

Wird ausgelöst, wenn der Stack bereits freigegeben wurde.

Beispiele

defer() verwenden

Ein Anwendungsfall für defer() besteht darin, beim Verlassen eines Gültigkeitsbereichs etwas zu tun, das nicht mit der Freigabe von Ressourcen zusammenhängt, beispielsweise eine Nachricht zu protokollieren.

js
async function doSomething() {
  await using disposer = new AsyncDisposableStack();
  disposer.defer(async () => {
    await fs.writeFile("log.txt", "All resources freed successfully");
  });
  // Other code that claims and frees more data
}

Spezifikationen

Spezifikation
ECMAScript Async Explicit Resource Management
# sec-asyncdisposablestack.prototype.defer

Browser-Kompatibilität

Siehe auch