AsyncDisposableStack.prototype[Symbol.asyncDispose]()

可用性有限

此特性不是基线特性,因为它在一些最广泛使用的浏览器中不起作用。

[Symbol.asyncDispose]() 方法是 AsyncDisposableStack 实例的一部分,它实现了异步可处置协议,并允许它在使用 await using 时被处置。它是 disposeAsync() 方法的别名。

语法

js
asyncDisposableStack[Symbol.asyncDispose]()

参数

无。

返回值

无(undefined)。

示例

使用 await using 声明堆栈

Symbol.asyncDispose 方法旨在在 await using 声明中自动调用。

js
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
}

规范

规范
ECMAScript 异步显式资源管理
# sec-asyncdisposablestack.prototype-@@asyncDispose

浏览器兼容性

另见