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