В Angular есть общий способ обработки ошибок http с помощью HttpErrorResponse
& rarr; да и нет.
Это распространено, но это не лучшая практика.
Лучше всего использовать перехватчик , например, так:
export class ErrorHandlerService implements HttpInterceptor {
constructor() {}
intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
return next
.handle(req)
.catch((err: HttpErrorResponse) => {...});
}
}
Что касается местоположения вашей функции, использование перехватчика решает эту проблему, но я напоминаю вам о лучшей практике:
& rarr; Вы должны сохранить логику, связанную с шаблоном, в своем компоненте и логику, связанную с бизнесом, в своем сервисе.
Я не помню точно, где это указано в документации, но я на 100% уверен в этом. РЕДАКТИРОВАТЬ Вот оно.