gpt4 book ai didi

angular - Observable 类型上不存在属性 catch

转载 作者:太空狗 更新时间:2023-10-29 18:17:49 24 4
gpt4 key购买 nike

我正在尝试使用 rxjs 添加错误处理拦截器,但我在编译它时遇到问题,因为“catch”闪烁红色

intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpSentEvent | HttpHeaderResponse | HttpProgressEvent | HttpResponse<any> | HttpUserEvent<any>> {
console.log(req);
return next.handle(req).catch(error => {
if (error instanceof HttpErrorResponse) {
this.messageService.error(`Błąd połączenia: ${error.message}`);
}
return observableThrowError(error);
});
}

最佳答案

在较新的 rxjs 版本中,您必须使用管道运算符并在其中捕获。 ref

示例:

intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpSentEvent | HttpHeaderResponse | HttpProgressEvent | HttpResponse<any> | HttpUserEvent<any>> {
return next
.handle(req)
.pipe(catchError( (error: HttpErrorResponse) => {
this.messageService.error(`Błąd połączenia:${error.message}`);
return throwError(error);
}
))
}

关于angular - Observable 类型上不存在属性 catch,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54067127/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com