【发布时间】:2020-01-27 23:53:02
【问题描述】:
如何在 Angular 中恢复截获的 HTTP 请求?
这是一个使用 Observables 的捕获和替换策略的示例
https://blog.angular-university.io/rxjs-error-handling/
目标是捕获错误,处理它并向原始订阅者返回可观察到的“成功”。我无法让它与 Angular 的拦截器一起使用。
这是简化的代码,但如果我返回一个 observable,它不会影响原始订阅者的成功。然而,它将完成它。 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');
})
);
}
【问题讨论】:
-
该链接是预期的行为。问题是为什么它不能像 angular 的拦截器那样工作?
-
请提供您的问题的工作示例。你在这里的东西是正确的,但你只是说它不起作用。
-
如果你返回一个可观察的字符串,它将不起作用
标签: angular rxjs observable interceptor