长期运行的订阅{Angler2内存泄漏

时间:2016-11-25 10:08:23

标签: angular

我有一个Ng2应用程序,它订阅了许多通过SignalR推送给它的服务器事件。 应用程序需要不断运行。

我正在使用Ng2发射器来监听事件。只有一个页面可以侦听这些事件并将数据显示给用户。

我遇到的问题是,如果我让应用程序在第二天过夜运行,我会在Chrome中看到内存不足的消息。

我无法销毁订阅,因为应用需要不断运行。管理这些订阅的最佳方式是什么?

enter image description here

我的订阅是在组件构造函数中设置的。我订阅了这样的组件......

 this._ytdReturnsService.getDataForGrid().subscribe((data: any) => {
            this.lastUpdateTime = new Date();
            this.rows = data.rows;
            this.cols = data.cols;
        });

我的服务会发出这样的数据......

this.proxy.on('getFundReturns', (data: any) => {
    var obj = JSON.parse(data);
    //console.log("getFundReturns:");
    //console.log(obj);
    this.onGetFundReturnsDataRecieved.emit(obj);
});

1 个答案:

答案 0 :(得分:0)

在分解我的代码并进行研究后,我发现问题是由我们使用的第三方组件PrimeNG引起的。 制造商已经解决了这个问题......

https://github.com/primefaces/primeng/issues/488