AsyncDisposableStack.prototype.defer()

Die defer()-Methode von Instanzen des AsyncDisposableStack nimmt eine Rückruffunktion an, die aufgerufen und erwartet wird, wenn der Stack entsorgt wird.

Siehe DisposableStack.prototype.defer() für allgemeine Informationen über die defer()-Methode.

Syntax

js
defer(onDispose)

Parameter

onDispose

Eine Funktion, die aufgerufen wird, wenn der Stack entsorgt wird. Die Funktion erhält keine Argumente und kann ein Versprechen zurückgeben, das erwartet wird.

Rückgabewert

Keine (undefined).

Ausnahmen

TypeError

Wird ausgelöst, wenn onDispose keine Funktion ist.

ReferenceError

Wird ausgelöst, wenn der Stack bereits entsorgt ist.

Beispiele

Verwendung von defer()

Ein Anwendungsfall von defer() ist das Ausführen einer Aktion, die nicht mit der Freigabe von Ressourcen zusammenhängt, beim Verlassen des Bereichs, wie z. B. das Protokollieren einer Nachricht.

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

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

Browser-Kompatibilität

Siehe auch