AsyncDisposableStack
AsyncDisposableStack
对象表示一个 async disposers 堆栈,当堆栈本身被释放时,将按注册顺序的逆序执行这些 disposers。disposer 函数的执行具有严格的错误处理保证。调用其 move()
方法会将当前已注册 disposers 的调用责任转移到一个新的 AsyncDisposableStack
对象,并阻止注册任何其他 disposers。
有关使用 disposable stacks 的一般信息,请参阅 DisposableStack
。
构造函数
AsyncDisposableStack()
-
创建一个新的
AsyncDisposableStack
对象。
实例属性
这些属性定义在 AsyncDisposableStack.prototype
上,并由所有 AsyncDisposableStack
实例共享。
AsyncDisposableStack.prototype.constructor
-
创建了实例对象的构造函数。对于
AsyncDisposableStack
实例,初始值是AsyncDisposableStack
构造函数。 AsyncDisposableStack.prototype.disposed
-
只读。如果
AsyncDisposableStack
已被释放,则返回true
;否则返回false
。 AsyncDisposableStack.prototype[Symbol.toStringTag]
-
Symbol.toStringTag
属性的初始值是字符串"AsyncDisposableStack"
。此属性用于Object.prototype.toString()
。
实例方法
AsyncDisposableStack.prototype.adopt()
-
通过提供自定义的 disposer 函数,将未实现 async disposable 协议的值注册到堆栈中。
AsyncDisposableStack.prototype.disposeAsync()
-
通过按注册顺序的逆序调用所有已注册的 disposers 来释放此堆栈。
AsyncDisposableStack.prototype.defer()
-
接受一个回调函数,该函数将在堆栈被释放时调用。
AsyncDisposableStack.prototype.move()
-
创建一个新的
AsyncDisposableStack
实例,该实例包含与此堆栈相同的 disposers,然后将此堆栈标记为已释放,而不调用任何 disposers。 AsyncDisposableStack.prototype.use()
-
将实现 async disposable 协议的值注册到堆栈中。
AsyncDisposableStack.prototype[Symbol.asyncDispose]
-
disposeAsync()
方法的别名。
规范
规范 |
---|
ECMAScript 异步显式资源管理 # sec-asyncdisposablestack-objects |
浏览器兼容性
加载中…