RxJS cacheError((error:any) cannot accept any object type as parameter

RxJS cacheError((error:any) cannot accept any object type as parameter

我像下面这样使用 RxJS:

  catchError((error: any) => {
    if (error instanceof HttpErrorResponse) {
      .......
      if (error.status === 401) {
          .....
          return;
        }}

但是 cacheError((error:any) 用法给出了以下错误:

(error: any) => Observable<never> | undefined 类型的参数不能分配给 (err: any, caught: Observable<HttpEvent<any>>) => ObservableInput<never> 类型的参数。 类型 Observable<never> | undefined 不可分配给类型 ObservableInput<never>。 类型 undefined 不可分配给类型 ObservableInput<never>

我该如何解决?我使用的是 rxjs 6.6.3 版本

根据RxJS docs / learn

Remember to return an observable from the catchError function!

所以要消除错误,您可以 return 清空可观察对象 of():

catchError((error: any) => {
    if (error instanceof HttpErrorResponse) {
      .......
      if (error.status === 401) {
          .....
          return of();
        }}