我从以下代码中收到以下错误:
错误 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);
}
});
}