【发布时间】:2018-06-21 02:01:00
【问题描述】:
在 Angular 应用程序中,尤其是在使用 NGRX 时,我们有很多 RxJS 订阅。是的,我们(开发人员)可能会忘记退订。是否有任何工具可以帮助分析问题?
【问题讨论】:
-
Chrome 开发工具。泄漏的可观察对象将会增长。
标签: angular debugging rxjs rxjs5 tooling
在 Angular 应用程序中,尤其是在使用 NGRX 时,我们有很多 RxJS 订阅。是的,我们(开发人员)可能会忘记退订。是否有任何工具可以帮助分析问题?
【问题讨论】:
标签: angular debugging rxjs rxjs5 tooling
我知道这与工具无关,除了可以在这里使用的浏览器开发工具之外,我什么都不知道。
为了减轻在 Angular 组件中处理取消订阅的痛苦,我使用了以下内容。如果丢失,很容易重构,如果丢失很容易记下,并且可以用作处理取消订阅的标准方法。
// On Destroy hook
private onDestroy: Subject<void> = new Subject();
在方法中记住 take(1) 应该在 takeUntil 之后,因为 observable 甚至不会触发一次。
this.regions$.pipe(takeUntil(this.onDestroy)).subscribe(...
当组件被销毁时
public ngOnDestroy() {
this.onDestroy.next();
this.onDestroy.complete();
}
【讨论】: