【发布时间】:2020-02-01 16:33:30
【问题描述】:
这是我的情况:我正在通过 Angular 的 httpClient 发出 HTTP 请求。
如果发生错误,我想通过管道传递 observable 以捕获该错误并将自定义错误返回给订阅者。即:
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));
然后,当执行时,第一个管道不处理错误,所以我的问题是:第二个管道是否覆盖第一个管道?在那种情况下,我认为这不应该被称为“管道”......
【问题讨论】: