我从以下代码中收到以下错误:
错误TS2345:类型'
(err: any) => void | Observable<any>
'的参数不能分配给类型'(err: any, caught: Observable<HttpEvent<any>>) => ObservableInput<any>
'的参数。 类型“void | Observable<any>
”不能分配给类型“ObservableInput<any>
”。
类型“void
”不能分配给类型“ObservableInput<any>
”
这是我的代码:
intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
return next.handle(this.addToken(req, this.authService.getAuthToken()))
.catch(err => {
if (err instanceof HttpErrorResponse) {
switch ((<HttpErrorResponse>err).status) {
case 403:
return this.handle403Error(req, next);
case 401:
return this.authService.logout(() => {
return this.router.navigateByUrl('/auth/login');
});
case 400:
return Observable.throw(err);
default:
return Observable.throw(err);
}
} else {
return Observable.throw(err);
}
});
}