【发布时间】:2013-03-29 20:22:28
【问题描述】:
我有一个 node.js 脚本,可以将流写入这样的数组:
var tempCrossSection = [];
stream.on('data', function(data) {
tempCrossSection.push(data);
});
以及另一个清空数组并对数据进行一些处理的回调,如下所示:
var crossSection = [];
setInterval(function() {
crossSection = tempCrossSection;
tempCrossSection = [];
someOtherFunction(crossSection, function(data) {
console.log(data);
}
}, 30000);
在大多数情况下这是可行的,但有时 setInterval 回调会在 30000 毫秒的时间间隔内执行多次(而且它不是事件循环上的排队调用)。我也将其作为具有相同结果的 cronJob 完成。我想知道是否有办法确保 setInterval 每 30000 毫秒只执行一次。也许有一个更好的解决方案。谢谢。
【问题讨论】: