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. Омогућава централизовано руковање грешкама у једном блоку и изгледа више синхроно.