【问题标题】:setTimeout - JavaScript heap out of memorysetTimeout - JavaScript 堆内存不足
【发布时间】:2019-09-01 06:43:26
【问题描述】:

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

for (i = 0;; ++i) {
  setDelay(i);
}

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

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

【问题讨论】:

    标签: node.js timeout settimeout infinite-loop


    【解决方案1】:

    您可能想使用setInterval,它可以满足您的需要。 sn-p

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

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

    【讨论】:

      猜你喜欢
      • 2018-02-10
      • 1970-01-01
      • 1970-01-01
      • 2017-02-27
      • 2017-10-10
      • 2019-09-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多