Promise.all / any / race / allSettled — choisissez le bon outil
Entraînez-vous avec les combinateurs de promesses : all, any, race et allSettled. Découvrez le comportement en cas de réussite ou d’échec et quand utiliser chacun
Promise.all / any / race / allSettled — choisissez le bon outil est une leçon JavaScript Academy gratuite sur CoddyKit. Ceci est la leçon 3 sur 3. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage JavaScript Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours JavaScript Academy comprend 3 leçons au total.
Vue d’ensemble des combinateurs
Objectif : apprendre le comportement de quatre fonctions auxiliaires.
- all : attendre tout ; échouer rapidement
- any : première réussite
- race : premier état final (réussite ou erreur)
- allSettled : résultats de toutes les opérations

Bases de Promise.all
Promise.all se résout avec un tableau de résultats ; un seul rejet suffit à rejeter l’ensemble.
// Small helpers for examples
function delay(ms, value, shouldFail = false) {
return new Promise(function (resolve, reject) {
setTimeout(function () {
if (shouldFail) reject(new Error(String(value)));
else resolve(value);
}, ms);
});
}
// Promise.all waits for all; rejects fast on first error
Promise.all([
delay(10, "A"),
delay(5, "B")
]).then(function (vals) {
console.log("all:", vals);
});

Bases de Promise.any
Promise.any se résout avec la première réussite ; elle n’est rejetée que si all les entrées sont rejetées.
// Promise.any gives the first fulfilled value
Promise.any([
delay(8, "ok-1"),
delay(3, "ok-2"),
delay(6, "ok-3")
]).then(function (v) {
console.log("any:", v);
}).catch(function (e) {
console.log("any failed:", e.message);
});

Bases de Promise.race
Promise.race choisit l’opération qui atteint son état final en premier : il peut s’agir d’une résolution ou d’un rejet.
// Promise.race settles with the first to finish (success or error)
Promise.race([
delay(5, "win"),
delay(7, "boom", true)
]).then(function (v) {
console.log("race resolved:", v);
}).catch(function (e) {
console.log("race rejected:", e.message);
});

Bases de Promise.allSettled
Promise.allSettled se résout toujours avec un tableau d’objets d’état pour chaque entrée.
// Promise.allSettled waits for all and reports each outcome
Promise.allSettled([
delay(4, "A"),
delay(6, "X", true)
]).then(function (results) {
console.log("allSettled:", results.map(function (r) { return r.status; }));
});

Laquelle utiliser ?
Choix :
- all : vous avez besoin de tous les résultats ; échouez rapidement à la moindre erreur.
- any : acceptez la première réussite (sources de repli).
- race : choisissez la première opération terminée (modèles avec délai d’expiration).
- allSettled : recueillez tous les résultats pour les examiner.

Quiz sur le choix d’un combinateur
Vérification rapide : premier résultat fulfilled.

Récapitulatif
Récapitulatif : utilisez all pour « tout est nécessaire », any pour « première réussite », race pour « premier état final » et allSettled pour examiner tous les résultats sans court-circuiter l’exécution.

Questions Fréquemment Posées
La leçon « Promise.all / any / race / allSettled — choisissez le bon outil » est-elle gratuite ?
Oui — le texte complet de « Promise.all / any / race / allSettled — choisissez le bon outil » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours JavaScript Academy, passe à CoddyKit PRO. Le cours JavaScript Academy comprend 3 leçons au total.
Qu'est-ce que j'apprendrai dans « Promise.all / any / race / allSettled — choisissez le bon outil » ?
Entraînez-vous avec les combinateurs de promesses : all, any, race et allSettled. Découvrez le comportement en cas de réussite ou d’échec et quand utiliser chacun Tu pratiques JavaScript Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer JavaScript Academy ?
Aucune expérience préalable n'est requise. JavaScript Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 3.
Combien de temps prend la leçon « Promise.all / any / race / allSettled — choisissez le bon outil » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon JavaScript Academy ?
Oui. Chaque leçon JavaScript Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Boucle d’événements et notions de base des tâches et microtâches
- Promesses — états, chaînage et gestion des erreurs
- Promise.all / any / race / allSettled — choisissez le bon outil