Проверяет умение унифицировать обработку разных форматов ошибок от API в одном блоке catch.
При работе с API сервер может возвращать ошибки в разных форматах: { error: 'текст' } или { message: 'текст' }. Если обрабатывать их по отдельности, код становится громоздким и хрупким. Решение — нормализовать ответ в единый формат внутри одного catch.
fetch('/api/data')
.then(response => {
if (!response.ok) {
return response.json().then(err => {
// Нормализуем ошибку
const normalizedError = {
message: err.error || err.message || 'Неизвестная ошибка',
status: response.status
};
throw normalizedError;
});
}
return response.json();
})
.catch(error => {
// error.message всегда содержит текст
console.error(error.message);
});catch мы получаем уже нормализованный объект с полем message.error или message, мы приводим к единому виду.Нормализация ошибок в одном месте упрощает поддержку кода и делает его устойчивым к изменениям API. Этот подход стоит применять в любом проекте, где есть внешние запросы.
Уровень
Рейтинг:
4
Сложность:
4
Навыки
JavaScript
Node.js
Ключевые слова
Подпишись на React Developer в телеграм
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию