JavaScript Promises är ett kraftfullt verktyg för att hantera asynkron kod – perfekt för saker som att hämta data från en server eller vänta på att något ska bli klart innan nästa steg utförs.
En Promise är i grunden ett löfte om ett framtida värde. Den kan ha tre tillstånd:
- Pending (pågående) – Löftet håller på att bearbetas.
- Fulfilled (uppfyllt) – Löftet har lyckats och ger ett resultat.
- Rejected (avvisat) – Något gick fel och en felkod returneras.
Exempel:
const fetchData = new Promise((resolve, reject) => { const data = getDataFromServer(); if (data) { resolve(data); // Om allt går bra } else { reject("Fel vid hämtning av data"); // Om något går fel } }); fetchData .then(result => console.log("Data:", result)) .catch(error => console.error("Error:", error));
Med then
hanterar du lyckade resultat, medan catch
tar hand om eventuella fel. Promises gör koden mer läsbar och hanterbar, särskilt när flera asynkrona operationer är inblandade.
Vill du ta det ett steg längre? Prova async/await, ett sätt att skriva kod med Promises som ser ut som synkron kod!