输入“ void |无法将Observable <any>'分配给类型'ObservableInput <any>'

时间:2018-07-10 15:43:43

标签: typescript promise observable httpresponse

我从以下代码中收到以下错误:

  

错误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);
            }
        });
}

0 个答案:

没有答案