有时http应用编程接口调用需要很长时间来加载数据。在这种情况下,如果我们移动到另一个组件,它仍然会继续执行(我们可以在浏览器控制台中看到它)。那么,当我们移动到另一个组件上时,有什么方法可以取消或终止http应用程序接口调用吗?
发布于 2017-01-18 20:38:08
您可以通过在OnDestroy生命周期事件中使用unsubscribe()方法来“杀死”它,在假设您使用订阅的情况下,例如:
mySubscription: any;
ngOnInit() {
this.mySubscription = this.myHttpCall().subscribe...
}
ngOnDestroy() {
this.mySubscription.unsubscribe();
}发布于 2017-09-13 17:19:16
您可以使用rxjs中的takeWhile()函数取消订阅所有订阅:示例:
http://brianflove.com/2016/12/11/anguar-2-unsubscribe-observables/
https://stackoverflow.com/questions/41719594
复制相似问题