【发布时间】:2018-09-02 21:55:20
【问题描述】:
我有多个订阅功能。首先我将它放在 ngOnInit() 上,然后我有另一个名为 onSelectVillain() 的函数。所以我的问题是你可以只使用 this.subscription.unsubscribe()。还是我应该声明另一个订阅?
subscription: Subscription;
ngOnInit() {
this.subscription = this.heroService.getHeroes()
.subscribe(
heroes => this.heroes = heroes,
error => this.errorMessage = <any>error);
}
onSelectVillain(event) {
this.subscription = this.villainService.getVillains()
.subscribe(
.....
}
ngOnDestroy(){
this.subscription.unsubscribe()
}
【问题讨论】:
-
使用单独订阅是取消订阅的最佳方式。使用相同的变量为您提供最后订阅的订阅,而不是全部。因此,当您退订时,您需要参考所有这些信息来完成退订过程。
标签: angular rxjs subscriptions angular-http-interceptors angular-httpclient