Sobes.tech
Junior

Hogyan kezelhető egy ígéret (reject) hibája egy aszinkron függvényben?

sobes.tech MI

Válasz az MI-től

Használhatja a try...catch-t.

async function processData() {
  try {
    const result = await fetchData(); // fetchData() visszaadhat egy ígéretet, amit elutasítanak
    console.log('Az adatok sikeresen megkapták:', result);
  } catch (error) {
    console.error('Hiba az adatok lekérésekor:', error);
    // Itt további lépéseket tehet a hiba kezelésére
    // Például üzenet mutatása a felhasználónak vagy logolás
  }
}

// Alternatív módszer a .catch() használatával (kevésbé elterjedt az async/await-ben)
async function processDataAlt() {
  await fetchData()
    .then(result => {
      console.log('Az adatok sikeresen megkapták:', result);
    })
    .catch(error => {
      console.error('Hiba az adatok lekérésekor:', error);
    });
}

A try...catch használata előnyösebb és idiomatikus az async/await esetén. Lehetővé teszi a hibakezelés központosítását egy blokkban, és szinkronabbnak tűnik.