javascript - 跟踪 X 时间的值
问题描述
如何在 Nodejs 中跟踪滚动时间段内的值?
IE:可能每 10 秒返回“1”或“0”的事件,如果此事件在过去 5 分钟内每 10 秒返回“1”,则发出 true,但如果有一个或多个“0”实例' 最后 5 分钟,然后发出 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);
推荐阅读
- python - 漂亮的汤返回充满变量的 HTML
- c++ - C++ 特征矩阵说明
- loops - 构造一个for循环以在python中输出分类器预测
- python - 我的条形图没有出现在屏幕上。我该如何解决?
- python - python将图像保存在ram中而不保存到硬盘?
- python - 如何调整 SVM 的参数以获得更好的训练
- flask - Google Colab - Plotly Dash - 示例 dash 应用程序卡在 Prod 环境中
- c++ - 构建 NFIQ2 时从 'char' 到 'char*' 的无效转换
- javascript - 导入语句是否替换了javascript中的脚本标签?
- javascript - 从字符串中删除除智能引号外的所有非 ASCII 字符