このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

AsyncDisposableStack.prototype[Symbol.asyncDispose]()

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

AsyncDisposableStack インスタンスの [Symbol.asyncDispose]() メソッドは、非同期破棄プロトコルを実装し、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();
  // 関数の終了直前にディスポーザーが破棄され、
  // それによりリソースも破棄されます
}

仕様書

Specification
ECMAScript Async Explicit Resource Management
# sec-asyncdisposablestack.prototype-@@asyncDispose

ブラウザーの互換性

関連情報