Angular httpClient catchError不返回错误对象

时间:2019-11-14 17:36:11

标签: angular-httpclient rxjs6

我正在尝试通过创建拦截器来实现全局错误处理。这是它的代码:

intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpSentEvent
   HttpHeaderResponse | HttpProgressEvent | HttpResponse<any> | HttpUserEvent<any> | any> {
return next.handle(request)
  .pipe(
    catchError((error: HttpErrorResponse) => {
      if (error instanceof HttpErrorResponse) {
        switch (error.status) {
          case 406: {
            return error406(request, next);
          }
      }} else {
        return throwError(error);
      }
    })); 

初始呼叫是这样的:

ngOnInit(): void {
this.http.get(`${environment.apiUrl}/api/web/wrongapi/`)
  .subscribe((data: any) => {
    console.log(data);
});

}

控制台看起来像这样: 11:23:04.568 GET https://localhost/api/web/wrongapi/ 404

11:23:04.608错误确定

当我检查“错误”时,它是一个字符串=“确定”

我的问题是: 为什么我的catchError中没有错误对象?

如果我的后端仅返回一个字符串,那么控制台如何知道它是404?

谢谢

0 个答案:

没有答案