Newly available 主要ブラウザの最新版で対応済み。古いブラウザが対象外なら使用可能。

対応ブラウザ

機能 デスクトップ モバイル
Chrome
Edge
Firefox
Safari
Chrome Android
Safari iOS
121
121
115
16.4
121
16.4
1+対応 (バージョン) 未対応 注釈あり サブ機能の解説は MDN Web Docs (CC BY-SA 2.5)

基本構文

JAVASCRIPT
async function* asyncRange(n) {
  for (let i = 0; i < n; i++) yield i;
}

const arr = await Array.fromAsync(asyncRange(5));
// [0, 1, 2, 3, 4]

ライブデモ

非同期ジェネレータから生成

時間をかけて値を生成する非同期ソースから一括で配列を作成します。

プレビュー全画面表示

Promise の配列を変換

複数の Promise が解決された結果を配列にまとめます。

プレビュー全画面表示

非同期マッピング関数

各要素を非同期的に加工しながら配列を生成します。

プレビュー全画面表示

実務での使いどころ

  • Array.fromAsync() の活用

    Array.fromAsync() は静的メソッドで、非同期反復可能オブジェクト、反復可能オブジェクト、配列風のオブジェクトから、シャローコピーされた新しい配列インスタンスを作成します。

注意点

  • 古いブラウザ(IE等)では対応していない。対象ブラウザを確認すること。

アクセシビリティ

  • JavaScript による動的更新時は、aria-live リージョンで変更をスクリーンリーダーに通知する。