我所有服务的重构通用句柄方法

时间:2018-06-13 13:53:37

标签: angular angular6

在我的所有服务中,我都采用相同的方法:

private handleError<T>(operation = 'operation', result?: T) {
    return (data: any): Observable<T> => {

      // TODO: send the error to remote logging infrastructure
      this.toastr.error(data.error.error);
      return of(result as T);
    };
  }

我称之为:

all(): Observable<Category[]> {
    const listUrl = this.categoriesUrl;
    return this.http.get<Category[]>(listUrl)
      .pipe(
        tap(data => this.toastr.success('success')),
        catchError(this.handleError('allCategories', []))
      );
  }

我应该如何重构它只在一个地方拥有它,并且每个服务都可以轻松地引用它?

0 个答案:

没有答案