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

瀏覽器相容性

另見