Назад к вопросам
Junior
73
questionbank
Как можно обработать ошибку (reject) промиса в асинхронной функции?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech 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);
});
}
Более предпочтительным и идиоматичным для async/await является использование try...catch. Он позволяет централизовать обработку ошибок в одном блоке и выглядит более синхронным.