Widely available すべての主要ブラウザで対応済み。安心して使用可能。

対応ブラウザ

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

基本構文

JAVASCRIPT
const results = await Promise.allSettled([
  fetch('/api/users'),
  fetch('/api/posts'),
  fetch('/api/comments'),
]);

const successful = results
  .filter(r => r.status === 'fulfilled')
  .map(r => r.value);

const failed = results
  .filter(r => r.status === 'rejected')
  .map(r => r.reason);

ライブデモ

成功と失敗の混在

複数のタスクを実行し、それぞれの成否を個別に確認します。

プレビュー全画面表示

すべての状態の可視化

全Promiseが確定するまで待ち、最終的な集計を表示します。

プレビュー全画面表示

成功データのみの抽出

一部がエラーになっても、取得できたデータだけで処理を続行する例です。

プレビュー全画面表示

実務での使いどころ

  • Promise.allSettled() の活用

    Promise.allSettled() は静的メソッドで、入力としてプロミスの反復可能オブジェクトを受け取り、単一の Promise を返します。

注意点

  • 特になし。すべての主要ブラウザで安定して動作する。

アクセシビリティ

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