Promise.all / allSettled / race / any
JavaScript 🟡 MidDefinition
Combinateurs de promesses : all (toutes reussies ou 1 echec), allSettled (toutes terminees), race (la premiere terminee), any (la premiere reussie). Essentiels pour le parallelisme.
Analogie
all = tous les invites doivent arriver pour manger. race = on mange des que le premier arrive. any = on mange des qu'un invite avec le dessert arrive. allSettled = on attend que tout le monde ait repondu, oui ou non.
Exemple de code
const [a, b] = await Promise.all([fetchA(), fetchB()]);
const results = await Promise.allSettled([p1, p2]);
const fastest = await Promise.race([p1, p2]);
const first = await Promise.any([p1, p2]);
Cas d'usage
Paralleliser des appels API independants (all), tolerant aux echecs (allSettled), timeout (race).
Anti-pattern
Utiliser await en serie pour des operations independantes au lieu de Promise.all.