Sobes.tech
Junior

Jak ošetřit chybu (reject) promise v asynchronní funkci?

sobes.tech AI

Odpověď od AI

Lze použít try...catch.

async function processData() {
  try {
    const result = await fetchData(); // fetchData() může vrátit slib, který bude odmítnut
    console.log('Data byla úspěšně získána:', result);
  } catch (error) {
    console.error('Chyba při získávání dat:', error);
    // Zde lze provést další kroky pro zpracování chyby
    // Například zobrazit zprávu uživateli nebo zaznamenat log
  }
}

// Alternativní způsob s .catch() (méně rozšířený v async/await)
async function processDataAlt() {
  await fetchData()
    .then(result => {
      console.log('Data byla úspěšně získána:', result);
    })
    .catch(error => {
      console.error('Chyba při získávání dat:', error);
    });
}

Použití try...catch je preferovanější a idiomatické pro async/await. Umožňuje centralizovat zpracování chyb v jednom bloku a vypadá to více synchronně.