Если наблюдаемый умирает, он называет его обработчиком ошибок, и они закрыты, вы не можете ничего через них отправить, что означает, что они закрыты все, что находится выше по потоку, включая интервал мертв.
что если мыхочу жить.
решение главной цепочки наблюдателей - это решение
помещать улов в switchmap
всякий раз, когда выполняется запрос switchmap
создает наблюдаемый ajax, и на этот раз с catch
.
switchmap
есть поведение, в котором говорится, что мой источник еще не завершен, поэтому мне все равно, завершит ли ребенок, я продолжу.
constructor() {
this._getReactions$
.pipe( tap(value=>{this.loading=true; return value}),
switchMap(() => {
return this.http.get(...).pipe(
catchError((error)=>this.handleError(error)))
// http request
}),
)
.subscribe(data => {
console.log(data)
//results handling
this.error=false;
this.loading=false
});
}
private handleError(error: HttpErrorResponse) {
this.error = true;
console.log(error)
this.loading = false
return empty();
}
Live Demo
Detailed Info