Junior
Как можете да обработите грешка (reject) на промиса в асинхронна функция?
sobes.tech AI
Отговор от AI
Можете да използвате 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. Позволява централно управление на грешките в един блок и изглежда по-синхронно.