如何在 Angular 6 中实现与 forkJoin 一起使用的通用错误处理?

How to implement generic error handling that works with forkJoin in Angular 6?

我有一个应用程序,我根据 rest.service.ts

中的官方 Angular 6 教程实现了错误处理
... 
       return this.http.get(url).pipe(catchError(this.handleError));
  }

  private handleError(error: HttpErrorResponse) {
    if (error.error instanceof ErrorEvent) {
      // A client-side or network error occurred. Handle it accordingly.
      console.error("An error occurred:", error.error.message);
    } else {
      // The backend returned an unsuccessful response code.
      // The response body may contain clues as to what went wrong,
      console.error(
        `Backend returned code ${error.status}, ` + `body was: ${error.error}`
      );
    }
    // return an observable with a user-facing error message
    return throwError(error.error);
  }

我的问题是我还需要使用 forkJoin,并且通过这种错误处理,forkJoin 挂起。 forkJoin 教程中的错误处理如下所示:

throwError('This will error').pipe(catchError(error => of(error))

我如何创建一个也适用于 forkJoin 的通用错误处理程序?

我发现不需要更改其余服务中的错误处理, 我只需要将 catchError 通过管道传递给数组中推送的可观察对象,以便传递给 forkJoin。

this.observables.push(
    this.rest.get(endpoint, null).pipe(catchError(error => of(error)))
  );