𝗝𝗮𝘃𝗮𝗦𝗰𝗿𝗶𝗽𝘁 𝗣𝗿𝗼𝗺𝗶𝘀𝗲𝘀
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.
