如何使用takeUntil取消订阅观察 .
根据我的理解,takeUntil会自动为您完成 .
以下是我通常如何取消订阅观察 . 但不确定是否正确完成 . 我真的需要“this.destroyed $ .complete();”如果takeUntil为我完成了吗?
This is my current attempt that works but unsure if best method:
private destroyed$: Subject<void> = new Subject();
ngOnIt(): void {
this.serviceA.getData
.takeUntil(this.$destroyed)
.subscribe(val => {
console.log('Current value:', val);
});
};
ngOnDestroy(): void {
this.destroyed$.next();
this.destroyed$.complete();
};
我想删除ngOnDestory中的.complete,但不确定是否会导致内存泄漏?
1 回答
我个人更喜欢这个解决方案,有另一个主题只是处理取消订阅和混合使用takeUntil可能会使事情太复杂