JavaScript Academy · Lektion

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.

Lektion 3 av 38 steg

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
Promise.all / any / race / allSettled — välj rätt verktyg — illustration 1

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);
});
Promise.all / any / race / allSettled — välj rätt verktyg — illustration 2

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);
});
Promise.all / any / race / allSettled — välj rätt verktyg — illustration 3

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);
});
Promise.all / any / race / allSettled — välj rätt verktyg — illustration 4

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; }));
});
Promise.all / any / race / allSettled — välj rätt verktyg — illustration 5

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.
Promise.all / any / race / allSettled — välj rätt verktyg — illustration 6

Quiz om val av kombinationsmetod

Snabb kontroll: Första fulfilled-resultatet.

Promise.all / any / race / allSettled — välj rätt verktyg — illustration 7

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.

Promise.all / any / race / allSettled — välj rätt verktyg — illustration 8
Gratis att börja

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

  1. Eventloopen och grunderna i task kontra microtask
  2. Promises — tillstånd, kedjning och felhantering
  3. Promise.all / any / race / allSettled — välj rätt verktyg
← Tillbaka till JavaScript Academy