javascript instance method
AsyncDisposableStack.prototype.defer()
The defer() method of AsyncDisposableStack instances takes a callback function to be called and awaited when the stack is disposed.
See defer() for general information about the defer() method.
Syntax
defer(onDispose)
Parameters
onDispose- : A function that will be called when the stack is disposed. The function receives no arguments and can return a promise which gets awaited.
Return value
None (undefined).
Exceptions
TypeError- : Thrown if
onDisposeis not a function.
- : Thrown if
ReferenceError- : Thrown if the stack is already disposed.
Examples
Using defer()
One use case of defer() is to do something unrelated to resource freeing during scope exit, such as logging a message.
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
}
Specifications
SpecificationsStandards references are available on the canonical MDN page.
Browser compatibility
Browser compatibilityCompatibility data is available on the canonical MDN page.