【发布时间】:2016-11-25 10:08:22
【问题描述】:
我有一个 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);
});
【问题讨论】:
-
很难说没有复制,尤其是没有看到代码。
-
我添加了一些代码sn-ps。还有哪些部分会有所帮助?
-
您是否使用浏览器 devtools profiler 调查过究竟是什么占用了内存?
-
还没有,明天一夜之间又失败了,我必须这样做。
-
我看到了这个问题,但我不知道。
标签: angular