Sobes.tech
Junior

Kako obraditi grešku (reject) obećanja u asinhronoj funkciji?

sobes.tech АИ

Одговор од АИ

Можете да користите try...catch.

async function processData() {
  try {
    const result = await fetchData(); // fetchData() може да врати промиса, който ще бъде одбиен
    console.log('Успешно добијени подаци:', result);
  } catch (error) {
    console.error('Грешка при добијање података:', error);
    // Овде можете извршити додатне акције за обраду грешке
    // На пример, приказати поруку кориснику или записати лог
  }
}

// Алтернативни начин са .catch() (мање распрострањен у async/await)
async function processDataAlt() {
  await fetchData()
    .then(result => {
      console.log('Успешно добијени подаци:', result);
    })
    .catch(error => {
      console.error('Грешка при добијању података:', error);
    });
}

Користење try...catch је пожељније и идиоматски за async/await. Омогућава централизовано руковање грешкама у једном блоку и изгледа више синхроно.