我正在尝试通过创建拦截器来实现全局错误处理。这是它的代码:
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?
谢谢