是否可以观察到中止?

时间:2017-06-29 12:57:06

标签: angular ionic2

如果我有一个http observable方法并且在一秒钟内被调用两次,那么第二个调用会自动中止第一个调用吗?还是我必须在第一个http调用中使用取消订阅才能停止它?

这是为了限制google地图中的http调用,我每次有缩放时都会运行http调用,在移动设备中可能会发生缩放在短时间内被缩小多次。

getClusters(params) {
    if(this.ajaxCall) {
      this.ajaxCall.unsubscribe();
    }
    this.ajaxCall = this.http
      .post(`${LOCAL_URL}/getClusters`, params)
      .subscribe((response: Response) => {
        response.json();
      });
      return this.ajaxCall;
  }

1 个答案:

答案 0 :(得分:2)

请检查switchMap运算符。它取消了之前的可观察性。

这可能会有所帮助https://angular-2-training-book.rangle.io/handout/http/search_with_switchmap.html