在setTimeout中,函数正在读取全局变量的旧版本

时间:2018-10-11 20:21:31

标签: javascript delayed-execution

在我正在处理的程序中,多次运行该程序后会返回数据。该程序具有图形输出,因此所有操作都具有特定的帧速率。这是代码:

db.collection.aggregate([
  { "$project": {
    "field2": {
      "$filter": {
        "input": "$field2",
        "cond": {
          "$in": [
            "$$this",
            ["item1", "item3", "item5"]
          ]
        }
      }
    }
  }}
])

运行时,应该function runTest(fps, testsPerRun, runs) { var main = setInterval(function(){ runSetup(); //Set everything up for running the program once createGraphicOutput(); //Set up and clear the graphic output var code = setInterval(function(){ runtest(); //Run one test updateCanvas(); //Update graphic output }, 1000 / fps); setTimeout(function(){ clearInterval(code); }, turns * (1000 / fps)); }, (1000 / fps) * testsPerRun); setTimeout(function(){ clearInterval(main); interpretData(testsPerRun); }, ((1000 / fps) * testsPerRun) * runs); } interpretData存储的所有数据全部返回0。所有数据都在对象数组中,该对象数组在执行开始时将属性“ record”设置为0。在执行过程中,我已经确认“记录”确实发生了变化,但是它认为它仍然为0。为什么?

0 个答案:

没有答案