跟踪 X 时间的值
Tracking a value for X time
如何在 Nodejs 中跟踪滚动时间段内的值?
即:
每 10 秒可能 return '1' 或 '0' 的事件,
如果此事件在最后 5 分钟内 return 每 10 秒出现一个“1”,则发出 true
但如果在过去 5 分钟内出现一个或多个“0”实例,则发出 false
我已经进行了一些谷歌搜索,但似乎一直指向 setTimer 函数,这不是我要找的。
任何人都可以提供一些指示,感谢任何帮助。
在您的问题的极少数情况下,如果有 一个 或多个 0 实例,我们可以在事件给出 0 时发出 false:
var place = 0;
var intv = setInterval(() => {
if (place > 30){ // 30 * 10 seconds = 5 mins
console.log("true");
clearInterval(intv);
}
place++;
if (event() == '0'){
console.log("false");
clearInterval(intv);
}
}, 10000); //10 seconds
如果超过 1 次,例如问题出现 7 次或更多次,我们可以使用变量来跟踪事件结果:
var instancesOfZero = 0;
var place = 0;
var intv = setInterval(() => {
if (instancesOfZero == 7) { // 7 is the desired # of instances to emit false
console.log("false");
clearInterval(intv);
}
if (place > 30){
console.log("true");
clearInterval(intv);
}
place++;
if (event() == '0'){
instancesOfZero++;
}
}, 10000);
如何在 Nodejs 中跟踪滚动时间段内的值?
即: 每 10 秒可能 return '1' 或 '0' 的事件, 如果此事件在最后 5 分钟内 return 每 10 秒出现一个“1”,则发出 true 但如果在过去 5 分钟内出现一个或多个“0”实例,则发出 false
我已经进行了一些谷歌搜索,但似乎一直指向 setTimer 函数,这不是我要找的。
任何人都可以提供一些指示,感谢任何帮助。
在您的问题的极少数情况下,如果有 一个 或多个 0 实例,我们可以在事件给出 0 时发出 false:
var place = 0;
var intv = setInterval(() => {
if (place > 30){ // 30 * 10 seconds = 5 mins
console.log("true");
clearInterval(intv);
}
place++;
if (event() == '0'){
console.log("false");
clearInterval(intv);
}
}, 10000); //10 seconds
如果超过 1 次,例如问题出现 7 次或更多次,我们可以使用变量来跟踪事件结果:
var instancesOfZero = 0;
var place = 0;
var intv = setInterval(() => {
if (instancesOfZero == 7) { // 7 is the desired # of instances to emit false
console.log("false");
clearInterval(intv);
}
if (place > 30){
console.log("true");
clearInterval(intv);
}
place++;
if (event() == '0'){
instancesOfZero++;
}
}, 10000);