Angular 2 - 取消服务电话

时间:2017-08-01 08:57:31

标签: angular ionic-framework

我有一个带有类别选项卡的菜单,点击后会显示以下功能。

this._customerservice.GetCustomersByFilter(this.FilterOptions) //Get Customers by Page Number and CategoryId
            .subscribe(res => {

                if (this.customersArray.paginatedCustomers.length != 0) {
                    res.paginatedCustomers.forEach(element => {
                        this.customersArray.paginatedCustomers.push(element);
                    });
                }

                else
                    this.customersArray = res;

               if (infiniteScroll != null)
                infiniteScroll.complete();
                this.customersView = this.customersArray;
            }

一旦他点击一个类别并且服务调用仍在加载,如果他点击第二个类别,我想停止这个返回结果的功能,因为它为错误的类别产生了错误的输出。

2 个答案:

答案 0 :(得分:1)

致电subscribe会返回订阅。您可以通过调用unsubscribe方法取消订阅。例如:

this.customerSubscription = this._customerservice.GetCustomersByFilter(...).subscribe(...);

// cancel the subscription
this.customerSubscription.unsubscribe();

答案 1 :(得分:1)

您可能需要查看switchMap。它经常与Debounce一起使用。

另外RangeIo有一篇很好的文章。