在 setTimeout 循环中调用调度时内存使用量增加



我有一些功能,可以连续调用调度以从数据库中提取数据。 代码类似于下面的代码片段:

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 会跟踪自应用程序启动以来的每个状态更改。关闭它解决了这个问题!!

最新更新