在 setTimeout 循环中调用分派时内存使用量增加
Increase in Memory usage when dispatch is called in a setTimeout loop
我有一些功能可以连续调用 dispatch 从数据库中提取数据。该代码类似于以下代码段:
componentWillMount()
{
this.startPoll();
}
startPoll() {
console.log('StartPoll called!');
this.props.dispatch({type: 'TEST'});
setTimeout(this.startPoll.bind(this), 150000);
}
有了这个,我发现 Chrome ( Shift + Escape ) 中的内存使用量不断上升并达到数百 MB,最终应用程序变得无响应。其他浏览器也是如此。
如果我在循环中调用常规函数而不是分派,我不会看到内存使用量增加。
我是 javascript 和 react/redux 的新手,所以可能缺少一些基本的东西。感谢您对此提供任何帮助!
问题的原因是我在项目中启用了 DevTools。正如预期的那样,Devtools 会跟踪自应用程序启动以来的每个状态更改。关闭它解决了这个问题!!
我有一些功能可以连续调用 dispatch 从数据库中提取数据。该代码类似于以下代码段:
componentWillMount()
{
this.startPoll();
}
startPoll() {
console.log('StartPoll called!');
this.props.dispatch({type: 'TEST'});
setTimeout(this.startPoll.bind(this), 150000);
}
有了这个,我发现 Chrome ( Shift + Escape ) 中的内存使用量不断上升并达到数百 MB,最终应用程序变得无响应。其他浏览器也是如此。
如果我在循环中调用常规函数而不是分派,我不会看到内存使用量增加。
我是 javascript 和 react/redux 的新手,所以可能缺少一些基本的东西。感谢您对此提供任何帮助!
问题的原因是我在项目中启用了 DevTools。正如预期的那样,Devtools 会跟踪自应用程序启动以来的每个状态更改。关闭它解决了这个问题!!