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

View in English Always switch to English

AsyncDisposableStack.prototype[Symbol.asyncDispose]()

利用可能性は限定的

この機能はベースラインではありません。最も広く使用されているブラウザーの一部で動作しません。

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();
  // 関数の終了直前にディスポーザーが破棄され、
  // それによりリソースも破棄されます
}

仕様書

仕様書
ECMAScript Async Explicit Resource Management
# sec-asyncdisposablestack.prototype-@@asyncDispose

ブラウザーの互換性

関連情報