Sobes.tech
Junior

Hoe kun je een fout (reject) van een belofte afhandelen in een asynchrone functie?

sobes.tech AI

Antwoord van AI

Je kunt try...catch gebruiken.

async function processData() {
  try {
    const result = await fetchData(); // fetchData() kan een belofte teruggeven die wordt afgewezen
    console.log('Gegevens succesvol ontvangen:', result);
  } catch (error) {
    console.error('Fout bij het ophalen van gegevens:', error);
    // Hier kunnen aanvullende acties worden ondernomen om de fout af te handelen
    // Bijvoorbeeld een bericht aan de gebruiker tonen of een logboek bijhouden
  }
}

// Alternatieve methode met .catch() (minder gebruikelijk in async/await)
async function processDataAlt() {
  await fetchData()
    .then(result => {
      console.log('Gegevens succesvol ontvangen:', result);
    })
    .catch(error => {
      console.error('Fout bij het ophalen van gegevens:', error);
    });
}

Het gebruik van try...catch is meer de voorkeur en idiomatisch voor async/await. Het stelt je in staat om foutafhandeling te centraliseren in één blok en het lijkt meer synchroon.