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