你如何处理 Angular 拦截器中的恢复
How do you handle recovery in the Angular Interceptor
如何在 angular 中恢复被拦截的 HTTP 请求?
这是使用 Observables 捕获和替换策略的示例
https://blog.angular-university.io/rxjs-error-handling/
目标是捕获错误、处理错误并 return 原始订阅者可以观察到 "success"。我无法让它与 Angular 的拦截器一起使用。
这是简化的代码,但如果我 return 一个可观察的,它不会影响原始订阅者的成功。然而,它将达到它的完整。并且 throwError 按预期工作。
intercept(
req: HttpRequest<any>,
next: HttpHandler
): Observable<HttpEvent<any>> {
return next
.handle(req)
.pipe(
catchError((error, caught) => {
return of('this does not work');
//throwError('this works as expected');
})
);
}
拦截器需要return一个Observable<HttpEvent<any>>
尝试:
return of(new HttpResponse({ body: {} }));
如何在 angular 中恢复被拦截的 HTTP 请求?
这是使用 Observables 捕获和替换策略的示例
https://blog.angular-university.io/rxjs-error-handling/
目标是捕获错误、处理错误并 return 原始订阅者可以观察到 "success"。我无法让它与 Angular 的拦截器一起使用。
这是简化的代码,但如果我 return 一个可观察的,它不会影响原始订阅者的成功。然而,它将达到它的完整。并且 throwError 按预期工作。
intercept(
req: HttpRequest<any>,
next: HttpHandler
): Observable<HttpEvent<any>> {
return next
.handle(req)
.pipe(
catchError((error, caught) => {
return of('this does not work');
//throwError('this works as expected');
})
);
}
拦截器需要return一个Observable<HttpEvent<any>>
尝试:
return of(new HttpResponse({ body: {} }));