我有一个Ng2应用程序,它订阅了许多通过SignalR推送给它的服务器事件。 应用程序需要不断运行。
我正在使用Ng2发射器来监听事件。只有一个页面可以侦听这些事件并将数据显示给用户。
我遇到的问题是,如果我让应用程序在第二天过夜运行,我会在Chrome中看到内存不足的消息。
我无法销毁订阅,因为应用需要不断运行。管理这些订阅的最佳方式是什么?
我的订阅是在组件构造函数中设置的。我订阅了这样的组件......
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);
});
答案 0 :(得分:0)
在分解我的代码并进行研究后,我发现问题是由我们使用的第三方组件PrimeNG引起的。 制造商已经解决了这个问题......