setTimeout - JavaScript 堆内存不足



所以我想做一个程序,每15分钟从Web api获取数据并处理它。这个过程将是无休止的(直到程序关闭(。我已经尝试过超时,但我的电脑很快就会耗尽内存(24GB RAM(,所以我的代码显然是一种非常糟糕的方法。代码的处理和收集数据部分已完成并且工作正常,不起作用的是无限循环部分。我对这个问题的看法基本上是这样的:

for (i = 0;; ++i) {
  setDelay(i);
}
function setDelay(i) {
  setTimeout(function(){
    //More code goes in here.
    console.log(i);
  }, 1000);
}

当然,必须有一种更好的方法来无休止地每X分钟执行一段代码,而不会淹没PC的RAM。有什么想法吗?

您可能

希望使用 setInterval ,它完全符合您的需求。代码段

setInterval(function () {
  console.log('Some message...');
}, 100);

将每 100 毫秒运行一次 console.log 语句,而不会弄乱堆栈或浪费系统资源。

相关内容

  • 没有找到相关文章

最新更新