DisposableStack.prototype[Symbol.dispose]()

可用性有限

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

DisposableStack 实例的 [Symbol.dispose]() 方法实现了可处置协议,允许它在使用 usingawait using 时被处置。它是 dispose() 方法的别名。

语法

js
disposableStack[Symbol.dispose]()

参数

无。

返回值

无(undefined)。

示例

使用 using 声明一个堆栈

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

js
{
  using disposer = new DisposableStack();
  const resource = disposer.use(new Resource());
  resource.doSomething();
  // stack is disposed here immediately before the function exits
  // which causes the resource to be disposed
}

规范

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

浏览器兼容性

另见