setTimeout - JavaScript 堆内存不足

setTimeout - JavaScript heap out of memory

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

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 语句,而不会弄乱堆栈或浪费系统资源。