[имя] спросил: Как вы обрабатываете ошибки в Angular-приложении и как зарегистрировать HTTP-интерцептор?

Ожидаемые HTTP-ошибки обрабатывают в потоке запроса и UI, общие — через interceptor, необработанные — через ErrorHandler. Не стоит превращать любой сбой в успешный пустой ответ.

Короткий ответ

Что ответить на собеседовании

Ожидаемые HTTP-ошибки обрабатывают в потоке запроса и UI, общие — через interceptor, необработанные — через ErrorHandler. Не стоит превращать любой сбой в успешный пустой ответ.

Подробный разбор

Ответ с пояснениями

Ожидаемые HTTP-ошибки обрабатывают в потоке запроса и UI, общие — через interceptor, необработанные — через ErrorHandler. Не стоит превращать любой сбой в успешный пустой ответ.

Функциональный interceptor регистрируют через provideHttpClient(withInterceptors([errorInterceptor])) в providers. Внутри можно применить catchError и передать ошибку дальше через throwError, если её должен показать вызывающий код. Для DI-классов есть HTTP_INTERCEPTORS с multi и подключение withInterceptorsFromDi. Логи не должны содержать токены и личные данные.

Источник: angular.dev.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее