跟踪 X 时间的值

问题描述

如何在 Nodejs 中跟踪滚动时间段内的值?

浏览器: 可能每 10 秒返回 '1' 或 '0' 的事件, 如果此事件在过去 5 分钟内每 10 个返回一个“1”,则发出 true 但如果在过去 5 分钟内有一个或多个“0”实例,则发出 false

我已经做了一些谷歌搜索,但似乎一直指向 setTimer 函数,这不是我要找的。​​p>

谁能提供一些指导,感谢您的帮助。

解决方法

在您的问题的极少数情况下,如果有 一个 或多个 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);

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...