Это моя ситуация: я делаю HTTP-запрос от Angular's httpClient.
В случае ошибки, я хочу направить наблюдаемое, чтобы перехватить эту ошибку и вернуть настроенную ошибку подписчикам. т.е.:
let observable = null;
if (sourceType === Source.HTTP) {
observable = this.http.get("url", options);
observable.pipe(
catchError((err: HttpErrorResponse) => {
const newError = new Error();
...
return throwError(newError);
})
);
}
...
Но я также хочу установить тайм-аут для запроса, поэтому позже я открываю другой канал:
// ... code above...
observable.pipe(timeout(2500));
И затем, когда выполняется, ошибкане обрабатывается первым каналом, поэтому мой вопрос: перезаписывает ли второй канал первый? В этом случае я думаю, что это не должно называться «труба» ...