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