AsyncDisposableStack.prototype[Symbol.asyncDispose]()
The [Symbol.asyncDispose]()
method of {{jsxref("AsyncDisposableStack")}}
instances implements the async disposable protocol and allows it to be disposed when used with {{jsxref("Statements/await_using", "await using")}}
. It is an alias for the {{jsxref("AsyncDisposableStack/disposeAsync", "disposeAsync()")}}
method.
Syntax
asyncDisposableStack[Symbol.asyncDispose]()
Parameters
None.
Return value
None ({{jsxref("undefined")}}
).
Examples
Declaring a stack with await using
The Symbol.asyncDispose
method is intended to be automatically called in a await using
declaration.
async function doSomething() {
await using disposer = new AsyncDisposableStack();
const resource = disposer.use(new Resource());
resource.doSomething();
// disposer is disposed here immediately before the function exits
// which causes the resource to be disposed
}
Specifications
{{Specifications}}
Browser compatibility
{{Compat}}
See also
- JavaScript resource management
{{jsxref("AsyncDisposableStack")}}
{{jsxref("AsyncDisposableStack.prototype.disposeAsync()")}}