【发布时间】:2018-07-11 22:07:26
【问题描述】:
最近我将 angular 5 升级到了 angular 6,因此我将服务代码升级如下:
register(postBody: any): Observable<any> {
return this.http
.post(this.remoteUrl + "auth/register", postBody)
.pipe(
catchError(this.handleError("register", []))
);
}
this.authService.register(this.formObj.value).subscribe(
response => {
}
)
现在当我从 API 收到 400 错误时。我能够在错误处理程序中捕获此错误,但仍执行订阅,为什么?只有在没有错误的响应时才应该调用订阅。
我对此并不陌生,但在 Angular 5 中并没有发生。那么谁能纠正我做错了什么?
【问题讨论】:
-
handleError是做什么的?如果它返回一个of而不是throwobservable,则会吞下错误。 -
谢谢伙计。你是对的。