取消/杀死http api调用角度2

时间:2017-01-18 12:35:18

标签: api http angular angular2-services angular2-http

有时http api调用需要很长时间才能加载数据。在这种情况下,如果我们移动另一个组件,它仍然继续执行(我们可以在浏览器控制台中看到它)。那么,当我们移动另一个组件时,有什么方法可以取消或终止http api调用吗?

2 个答案:

答案 0 :(得分:4)

你可以"杀死"在unsubscribe()生命周期事件中使用OnDestroy方法,假设您正在使用订阅,例如:

mySubscription: any;

ngOnInit() {
    this.mySubscription = this.myHttpCall().subscribe...
}

ngOnDestroy() {
    this.mySubscription.unsubscribe();
}

答案 1 :(得分:0)

您可以使用rxjs中的takeWhile()函数取消订阅所有订阅:示例:

http://brianflove.com/2016/12/11/anguar-2-unsubscribe-observables/