【发布时间】:2021-07-23 04:37:03
【问题描述】:
我像这样使用 Angular 9 和 HttpInterceptor:
export class AppHttpInterceptor implements HttpInterceptor {
intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
...
return next.handle(authReq).catch((error, caught) => {
if(error.status === 403) {
this.router.navigate(['/login']);
} else if(error.status === 400) {
console.log('Error status 400');
}
return Observable.throw(error);
}) as any;
最初加载应用程序时出现以下错误:
ERROR TypeError: Cannot read property 'length' of null
at http.js:168
at Array.forEach (<anonymous>)
at HttpHeaders.lazyInit (http.js:156)
at HttpHeaders.init (http.js:277)
at HttpHeaders.forEach (http.js:379)
at Observable._subscribe (http.js:2376)
at Observable._trySubscribe (Observable.js:42)
at Observable.subscribe (Observable.js:28)
at CatchOperator.call (catchError.js:16)
at Observable.subscribe (Observable.js:23)
有谁知道为什么以及如何防止这个错误?
【问题讨论】:
-
还有其他代码吗..这似乎很正确。
标签: angular angular-http-interceptors