无法通过回调函数访问在类上声明的私有变量

时间:2019-06-24 05:49:02

标签: angular dependency-injection

在我的数据服务中,我试图在异常情况下使用toastr显示错误。

为此,我正在创建一个类,在成功返回数据时加载API,否则将处理异常。

export class DataService {

  private productUrl = "api/Products11";

  constructor(public http: HttpClient, private toastr: ToastrService) { }

  public products: Product[] = [];

  loadProducts(): Observable<boolean> {
    return this.http.get(this.productUrl)
      .pipe(
        map((data: any[]) => {
          this.products = data;
          return true;
      }), catchError(this.handleError));
  }

  private handleError(err: HttpErrorResponse) {
    //this.toastr is undefined here
     this.toastr.success(errorMessage);
  }

}

但是,当我在handleError上设置一个断点时,我得到this.toastr的未定义。同样,如果我尝试访问this.productUrl

在loadProducts方法上一切正常。

0 个答案:

没有答案