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
语句,而不会弄乱堆栈或浪费系统资源。
所以我想制作一个程序,每 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
语句,而不会弄乱堆栈或浪费系统资源。