Angular HTTP请求可观察到的错误不捕获错误?

时间:2018-10-11 10:21:20

标签: angular rxjs observable angular-httpclient

Angular 6使用HttpClient。目前尚未实施拦截器。

我有一个管理服务,正在对MSGraph进行http调用。在这种情况下,我收到一个错误400错误的请求,该请求正在发送给通知处理程序。

我已经在该console.log中滑动过,以确保该错误块完全在触发,而在另一个cnosole.log中,以查看从服务器返回的“数据”是否为错误。

没有一个console.logs触发,但是全局错误处理程序仍在控制台中显示400错误的请求响应。

我希望能够使用此回复并显示一条用户友好的消息。

代码:

this.http.get(this.GRAPH_ROOT_URL + this.APP_ID, { headers }).subscribe(data => {
  this.notification.done(data);
  console.log(data);
}), error => {
  this.notification.error(`Error getting users from Microsoft GRAPH API. Reason: ${error}`)
  console.log("this is observable error", error);
}

1 个答案:

答案 0 :(得分:2)

Angular 6使用RxJS 6,它进行了许多更改。假设这就是您正在使用的,这就是我要使用的:

这就是我要使用的:

useradd

因此,您可以使用systemd-sysusers来调用this.http.get(this.GRAPH_ROOT_URL + this.APP_ID, { headers }) .pipe(catchError(err => { this.alert.error('There was an error getting data'); return throwError(err); })).subscribe(data => this.notification.done(data)); ,它可以正确处理服务器错误。

要使用pipe,您需要先将其导入,如下所示:

catchError