Get to know MDN better
このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。
この機能は広く実装されており、多くのバージョンの端末やブラウザーで動作します。2020年1月以降、すべてのブラウザーで利用可能です。
* この機能の一部は、対応レベルが異なる場合があります。
AsyncIterator オブジェクトは 非同期イテレータープロトコル に準拠したオブジェクトで、 next() メソッドを提供することでイテレーターの結果オブジェクトに履行されるプロミスを返します。 AsyncIterator.prototype オブジェクトは、すべての組み込み非同期イテレーターが継承する非表示のグローバルオブジェクトです。これは、非同期イテレーターオブジェクト自身を返す @@asyncIterator メソッドを提供し、非同期イテレーターを非同期反復可能にもします。
なお、AsyncIterator はグローバルオブジェクトではありませんが、将来的には async iterator helpers proposal でグローバルオブジェクトになる予定です。すべての組み込み非同期イテレーターで共有される AsyncIterator.prototype オブジェクトは以下のコードで取得できます。
現在、 JavaScript の組み込み非同期イテレーターは、非同期ジェネレーター関数が返す AsyncGenerator オブジェクトだけです。ウェブ API には他にも ReadableStream のような組み込みの非同期イテレーターがあります。
これらの非同期イテレーターはそれぞれ個別のプロトタイプオブジェクトを持っており、特定の非同期イテレーターが使用する next() メソッドを定義しています。これらのプロトタイプオブジェクトはすべて AsyncIterator.prototype を継承しています。これは非同期イテレータオブジェクト自身を返す @@asyncIterator メソッドを提供し、非同期イテレーターを非同期反復可能にもします。
メモ: AsyncIterator.prototype は @@iterator を実装していないので、非同期イテレーターは既定では同期反復可能ではありません。
非同期イテレーターオブジェクト自身を返します。これにより、非同期イテレーターオブジェクトも非同期反復可能オブジェクトになります。
すべての組み込み非同期イテレーターも非同期反復処理可能オブジェクトなので、for await...of ループで使用することができます。
| ECMAScript® 2027 Language Specification # sec-asynciteratorprototype |
ブラウザー互換性一覧表を表示するには、JavaScript を有効にしてください。
より良いインターネットのための青写真。
このコンテンツの一部は、©1998–2026 個人の mozilla.org 協力者です。コンテンツはクリエイティブ・コモンズ・ライセンスのもとで利用できます。