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

瀏覽器相容性

另見