Promise.all / any / race / allSettled — välj rätt verktyg
Öva på Promise-kombinatorerna all, any, race och allSettled. Lär dig hur lyckade och misslyckade resultat hanteras och när varje variant passar.
Promise.all / any / race / allSettled — välj rätt verktyg är en gratis lektion i JavaScript Academy på CoddyKit. Detta är lektion 3 av 3. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för JavaScript Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i JavaScript Academy innehåller totalt 3 lektioner.
Översikt av kombinationsmetoder
Mål: Lär er fyra hjälpfunktioner och hur de fungerar.
- all: vänta på alla; misslyckas direkt vid fel
- any: första lyckade resultatet
- race: det första som avgörs (lyckat eller fel)
- allSettled: resultat för alla

Grunderna i Promise.all
Promise.all löser sig med en array av resultat; en enda avvisning gör att hela operationen avvisas.
// 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);
});

Grunderna i Promise.any
Promise.any löser sig med det första lyckade resultatet; den avvisas endast om alla indata avvisas.
// 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);
});

Grunderna i Promise.race
Promise.race väljer det som avgörs först: det kan vara ett lyckat resultat eller en avvisning.
// 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);
});

Grunderna i Promise.allSettled
Promise.allSettled löser sig alltid med en array av statusobjekt för varje indata.
// 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; }));
});

Vilken ska användas?
Val:
- all: ni behöver alla resultat; avbryt direkt vid fel.
- any: acceptera första lyckade resultatet (reservkällor).
- race: välj det som blir klart först (mönster för tidsgränser).
- allSettled: samla in varje utfall för granskning.

Quiz om val av kombinationsmetod
Snabb kontroll: Första fulfilled-resultatet.

Sammanfattning
Sammanfattning: Använd all för ”behöver alla”, any för ”första lyckade”, race för ”först avgjord” och allSettled för att granska varje utfall utan kortslutning.

Lär dig JavaScript med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 59
- Lektioner
- 200
Vanliga frågor
Är lektionen ”Promise.all / any / race / allSettled — välj rätt verktyg” gratis?
Ja – du kan läsa vilka 3 lektioner som helst i lärvägen JavaScript Academy, inklusive ”Promise.all / any / race / allSettled — välj rätt verktyg”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i JavaScript Academy innehåller totalt 3 lektioner.
Vad lär jag mig i ”Promise.all / any / race / allSettled — välj rätt verktyg”?
Öva på Promise-kombinatorerna all, any, race och allSettled. Lär dig hur lyckade och misslyckade resultat hanteras och när varje variant passar. Ni övar på JavaScript Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig JavaScript Academy?
Du behöver inga förkunskaper. Utbildningen i JavaScript Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 3 av 3.
Hur lång tid tar lektionen ”Promise.all / any / race / allSettled — välj rätt verktyg”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här JavaScript Academy-lektionen?
Ja. Varje JavaScript Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Eventloopen och grunderna i task kontra microtask
- Promises — tillstånd, kedjning och felhantering
- Promise.all / any / race / allSettled — välj rätt verktyg