Sobes.tech
Junior — Middle

Wat is het verschil tussen de constructies async/await en Promise bij het werken met asynchrone code in JavaScript?

sobes.tech AI

Antwoord van AI

Promise is een object dat het resultaat van een asynchrone operatie voorstelt, dat in de toekomst voltooid of afgewezen kan worden. Het stelt je in staat om handlers te registreren via de methods then() en catch().

async/await is een syntactisch suiker bovenop Promise, waarmee je asynchrone code in een synchrone stijl kunt schrijven, waardoor het leesbaarder en gemakkelijker te debuggen is.

Belangrijkste verschillen:

  • Promise vereist ketens van then/catch voor het afhandelen van resultaten en fouten.
  • async/await maakt gebruik van de keywords await om te wachten op het resultaat van een Promise binnen een asynchrone functie.

Voorbeeld:

// Promise
fetch(url)
  .then(response => response.json())
  .then(data => console.log(data))
  .catch(error => console.error(error));

// async/await
async function fetchData() {
  try {
    const response = await fetch(url);
    const data = await response.json();
    console.log(data);
  } catch (error) {
    console.error(error);
  }
}
fetchData();

Op deze manier vereenvoudigt async/await het werken met Promise, waardoor de code lineairder en begrijpelijker wordt.