【发布时间】:2020-08-28 23:46:10
【问题描述】:
我正在运行一个 Ionic 4 应用程序,其中包含一个 http 拦截器以在请求之间添加一些负载。
我还有一个凭证服务,用于验证我的存储中是否有令牌。
这是我的拦截器
intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
this.requests.push(req);
this.loaderService.isLoading.next(true);
return new Observable(observer => {
const subscription = next.handle(req)
.subscribe(
event => {
if (event instanceof HttpResponse) {
this.removeRequest(req);
observer.next(event);
}
},
(err: Error ) => {
this.alertservice.info(err.message, 'id1');
this.removeRequest(req);
observer.error(err);
},
() => {
this.removeRequest(req);
observer.complete();
});
// remove request from queue when cancelled
return () => {
this.removeRequest(req);
subscription.unsubscribe();
};
});
}
它可以工作,但是当我尝试添加以下行时,它停止工作并重定向到我的错误页面并且没有任何控制台,我无法跟踪它。
intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
//console.log(this.credentialService.credentials.token);
// console.log(authToken);
谁能帮我理解为什么会这样,以及如何解决?
【问题讨论】:
-
让我们知道您的 credentialService 的代码
标签: ionic4 angular-http-interceptors