在 Angular 应用程序中,尤其是在使用 NGRX 时,我们有很多 RxJS 订阅。是的,我们(开发人员)可能会忘记取消订阅。是否有任何工具可以帮助分析问题?
问问题
519 次
1 回答
0
我知道这不是工具的答案,除了可以在这里使用的浏览器开发工具之外,我什么都不知道。
为了减轻在 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();
}
于 2018-01-12T07:34:51.063 回答