这是我的代码段(示例)
fetchData(): void {
if (this.subscription$) {
this.subscription$.unsubscribe();
}
this.subscription$ = this.store.select('someEvent')
.subscribe(data => {
console.log(data);
});
}
ngOnDestroy() {
this.subscription$.unsubscribe();
}
我需要调用fetchData
方法添加另一个订阅以从store
获取当前状态。所以在这一点上,我已经像上面那样实现它以释放以前的订阅。它的工作方式我希望它工作,但我觉得代码不是很整洁。我正在深入研究takeUntil
和takeWhile
以使代码更加Rx
,但我没有成功。
答案 0 :(得分:0)
使用主题发出破坏信号
destroyed$=new Subject()
fetchData(): void {
this.store.select('someEvent').takeUntil(destroyed$)
.subscribe(data => {
console.log(data);
});
}
ngOnDestroy() {
destroy$.next()
}