В rxjs ошибки могут быть обработаны
- при объявлении наблюдаемого:
const http$ = this.http.get<Course[]>('/api/courses')
.pipe(catchError(err => of([])));
- или / и во время подписки:
http$.subscribe(
res => console.log('HTTP response', res),
err => console.log('HTTP Error', err),
() => console.log('HTTP request completed.')
);
Стратегия обработки ошибок хорошо обобщена в:
https://blog.angular -university.io / rxjs-обработки ошибок /
Насколько я понимаю, первый вариант (обработка ошибки в наблюдаемом объявлении) является более мощным.
Тогда я хотел бы сказать, что наилучшей практикой будет всегда и систематически обрабатывать ошибки на этом уровне.
Согласитесь ли вы с этим или есть случаи, когда ошибки должны обрабатываться во время подписки?