我想用其类型映射HttpClient的错误,并且我有以下代码:
export class ErrorMessageInterceptor implements HttpInterceptor {
constructor(private notifyService: NotifyService) {}
public intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
return next.handle(req).pipe(
catchError(error => {
console.error(error);
return throwError({
ok: error.ok,
status: error.status,
statusText: error.statusText,
code: error.error.error.code,
message: error.error.error.message,
headers: error.headers,
url: error.url,
} as OdataError);
}),
tap(() => {}, async error => {
await this.notifyService.error(error.message);
}),
);
}
}
但是不幸的是,error
运算符中tap
的默认类型仍然是any
,并且我不想将错误类型映射到将要使用的任何位置。所以我在这里有两个问题:
HttpClient
实例设置自定义错误类型?