AsyncDisposableStack.prototype[Symbol.asyncDispose]()
Baseline Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
The [Symbol.asyncDispose]() method of AsyncDisposableStack instances implements the async disposable protocol and allows it to be disposed when used with await using. It is an alias for the disposeAsync() method.
Syntax
asyncDisposableStack[Symbol.asyncDispose]()
Parameters
None.
Return value
None (undefined).
Examples
Declaring a stack with await using
The Symbol.asyncDispose method is intended to be automatically called in an 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
| Specification |
|---|
| ECMAScript Async Explicit Resource Management # sec-asyncdisposablestack.prototype-@@asyncDispose |
Browser compatibility
| Desktop | Mobile | Server | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on iOS | Samsung Internet | WebView Android | WebView on iOS | Bun | Deno | Node.js | |
@@asyncDispose |
134 |
134 |
141 |
119 |
preview |
134 |
141 |
88 |
No |
29.0 |
134 |
No |
1.3.0 |
2.2.10 |
24.0.0 |
See also
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/AsyncDisposableStack/Symbol.asyncDispose