【问题标题】:Is there any tooling to profile "hanging" RxJS subscriptions in Angular 5 apps?是否有任何工具可以分析 Angular 5 应用程序中“挂起”的 RxJS 订阅?
【发布时间】:2018-06-21 02:01:00
【问题描述】:

在 Angular 应用程序中,尤其是在使用 NGRX 时,我们有很多 RxJS 订阅。是的,我们(开发人员)可能会忘记退订。是否有任何工具可以帮助分析问题?

【问题讨论】:

  • Chrome 开发工具。泄漏的可观察对象将会增长。

标签: angular debugging rxjs rxjs5 tooling


【解决方案1】:

我知道这与工具无关,除了可以在这里使用的浏览器开发工具之外,我什么都不知道。

为了减轻在 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();
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-04-02
    • 2018-10-12
    • 2016-04-25
    • 1970-01-01
    • 1970-01-01
    • 2021-09-30
    • 1970-01-01
    相关资源
    最近更新 更多