如果我有一个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;
}
答案 0 :(得分:2)
请检查switchMap运算符。它取消了之前的可观察性。
这可能会有所帮助https://angular-2-training-book.rangle.io/handout/http/search_with_switchmap.html