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

概要

Promise.allSettled() は渡された Promise がすべて確定するまで待ち、各 Promise の結果を { status, value/reason } オブジェクト의配列で返します。Promise.all と異なり、一部が reject されても全体が失敗しません。

対応ブラウザ

機能 デスクトップ モバイル
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);

ライブデモ

Success and failure. mixed

Multiple. task Run, each. complete individual to inspect it..

プレビュー全画面表示

all. state. Visualize

allPromise that certain to wait, final aggregate display..

プレビュー全画面表示

Successde-ta. only. Extract

onepart that error to also, read in de-taonly in processing continue rowexample..

プレビュー全画面表示

実務での使いどころ

  • Promise.allSettled() の活用

    すべての Promise が確定(fulfilled または rejected)するまで待つメソッド。部分的な成功を許容する場合に有効。

注意点

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

アクセシビリティ

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

Powered by web-features