docs.rodeo

MDN Web Docs mirror

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

In this article

View on MDN