Promise.allSettled()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2020.

La méthode Promise.allSettled() renvoie une promesse qui est résolue une fois que l'ensemble des promesses de l'itérable passée en argument sont réussies ou rejetées. La valeur de résolution de cette promesse est un tableau d'objets dont chacun est le résultat de chaque promesse de l'itérable.

Exemple interactif

const promise1 = Promise.resolve(3);
const promise2 = new Promise((resolve, reject) =>
  setTimeout(reject, 100, "foo"),
);
const promises = [promise1, promise2];

Promise.allSettled(promises).then((results) =>
  results.forEach((result) => console.log(result.status)),
);

// Expected output:
// "fulfilled"
// "rejected"

Syntaxe

js
p.allSettled(iterable);

Paramètres

iterable

Un objet itérable tel qu'un tableau (Array) dont chaque élément est une promesse (Promise.

Valeur de retour

Une promesse (Promise) en cours qui sera résolue de façon asynchrone une fois que chaque promesse de l'itérable a été résolue (tenue/réussie ou rejetée/échouée). Le gestionnaire passé à la promesse retournée recevra comme argument un tableau de valeur dont chacune est le résultat de chaque promesse de l'itérable initial.

Pour chaque objet contenu dans ce tableau, il y aura une propriété status qui est une chaîne de caractères. Si status vaut fulfilled, alors on aura une propriété value. Si status vaut rejected, alors une propriété reason sera présente. La valeur (ou la raison) reflète la valeur de résolution de la promesse.

Spécifications

Specification
ECMAScript® 2025 Language Specification
# sec-promise.allsettled

Compatibilité des navigateurs

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
allSettled()

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

Voir aussi