我正在尝试使用 rxjs 添加错误处理拦截器,但我在编译它时遇到问题,因为“catch”闪烁红色
\n\nintercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpSentEvent | HttpHeaderResponse | HttpProgressEvent | HttpResponse<any> | HttpUserEvent<any>> {\n console.log(req);\n return next.handle(req).catch(error => {\n if (error instanceof HttpErrorResponse) {\n this.messageService.error(`B\xc5\x82\xc4\x85d po\xc5\x82\xc4\x85czenia: ${error.message}`);\n }\n return observableThrowError(error);\n });\n}\nRun Code Online (Sandbox Code Playgroud)\n\n}
\n在较新的 rxjs 版本中,您必须使用管道运算符并在其中捕获。\n ref
\n\n例子:
\n\nintercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpSentEvent | HttpHeaderResponse | HttpProgressEvent | HttpResponse<any> | HttpUserEvent<any>> {\n return next\n .handle(req)\n .pipe(catchError( (error: HttpErrorResponse) => {\n this.messageService.error(`B\xc5\x82\xc4\x85d po\xc5\x82\xc4\x85czenia:${error.message}`);\n return throwError(error);\n }\n ))\n }\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
3130 次 |
| 最近记录: |