𝗝𝗮𝘃𝗮𝗦𝗰𝗿𝗶𝗽𝘁 𝗣𝗿𝗼𝗺𝗶𝘀𝗲𝘀

Een Promise vertegenwoordigt het resultaat van een asynchrone taak.

Je gebruikt Promises voor API-aanroepen, database-queries en het lezen van bestanden.

Een Promise heeft drie statussen:

  • Pending: De taak is nog bezig.
  • Fulfilled: De taak is succesvol voltooid.
  • Rejected: De taak is mislukt met een foutmelding.

De structuur ziet er als volgt uit:

const promise = new Promise((resolve, reject) => {
  // The executor runs immediately
});

Je verwerkt de resultaten met deze methoden:

  • .then(): Wordt uitgevoerd wanneer de promise slaagt.
  • .catch(): Wordt uitgevoerd wanneer de promise mislukt.
  • .finally(): Wordt uitgevoerd wanneer de taak eindigt, ongeacht de uitkomst.

Belangrijke regels om te onthouden:

  • De eerste uitkomst wint. Als je resolve() aanroept en daarna reject(), dan wint de resolve.
  • De executor-functie wordt synchroon uitgevoerd.
  • Het gebruik van async en await maakt je code leesbaarder dan het gebruik van .then().

Het afhandelen van meerdere promises:

  • Promise.all(): Dit volgt een fail-fast-aanpak. Als één promise mislukt, mislukt de hele groep.
  • Promise.allSettled(): Dit wacht tot elke promise is voltooid. Het geeft de resultaten terug, zelfs als sommige taken mislukken.

Samenvatting:

  • Promise: Een asynchrone resultaat-handler.
  • resolve: Markeert succes.
  • reject: Markeert mislukking.
  • async/await: Een schonere manier om promises te schrijven.
  • Promise.all: Stopt bij de eerste fout.
  • Promise.allSettled: Voltooit alle taken.

Bron: https://dev.to/malik786/javascript-promises-2hn4