如何使用takeUntil取消订阅观察值?如何使用Angular2中的takeUntil取消订阅观察值
根据我的理解,takeUntil自动为您完成。
以下是我通常如何从observable取消订阅。 但不知道如果做得正确。我真的需要“this.destroyed $ .complete();”如果takeUntil对我来说是完整的?
这是我的作品,但不能确定当前的尝试,如果最好的方法:
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但不能肯定是否会导致内存泄漏的?
你检查此链接:https://stackoverflow.com/questions/38008334/angular-rxjs-when-should-i-unsubscribe-from-subscription?* – Wandrille
该链接有很多例子,我只是想要一个真正的答案,如果我正确的做对了吗?感谢您的链接 – AngularM
只需阅读验证答案:---编辑3 - “官方”解决方案(2017/04/09)。这是最好的方式,由角度 – Wandrille