有条件地取消订阅请求

时间:2016-12-05 15:20:31

标签: angular ecmascript-6 observable

当其他请求已存在时,有一种方法可以取消订阅请求吗?

在我的情况下,我希望保持最后一个请求正常工作并取消可能的其他请求,因为每次ngModel更改时,请求都会开始。

我做了这样的事情:

  onFieldChange(searchText: string) {

    if(typeof request != 'undefined') request.unsubscribe();

    let request = this.searchService.loadEntities(searchText)

      .subscribe((resp: Search[]) => {

        this.searchResults = resp;
      })
  }

在Angular JS中,这段代码工作正常。

if(typeof request == 'object') request.$cancelRequest();

使用Angular 2和es6我有一个错误“在声明之前使用了块范围变量'请求'。”

我理解这一点,但我该怎么办?

0 个答案:

没有答案