javascript - 在循环中每收到第 10 个数据包运行函数

标签 javascript

下面是一个对从服务器接收到的每个数据包运行 drawAccel() 函数的函数。 darwAccel() 构建了一个条形图,因此在 IE8 中,在收到的每个数据包上不断运行它已经足够慢,以至于它会导致事情中断。我想在每接收到第 10 个(或可变数量)数据包时运行它。对此有什么好方法?

function messagecb(header, message) {
    if(header.type == 6) {
      // processEchoReply(message);

    } else if(header.type == 4) {
        var accels = message.b64UnpackAccelMsg();

    for(var index = 0; index < accels.length; ++index) {
        var accel = accels[index];
        var totalClock = accelEpochAdjust(accel.clock);

        addAccelDatum(totalClock, accel.x,  accel.y, accel.z);
    }

    drawAccel();

  } else if(header.type == 3) {
      // info
      var info2 = message.b64UnpackInfo2Msg();

      displayCurrentPosition(info2.fixtime, info2.lat, info2.lon, info2.alt);
      displayMobileStatus(info2.rssi, info2.bandClass, info2.batt);
  } else if(header.type == 11) {
      btReceive(header, message);
  }
}

最佳答案

你可以使用计数器

var i=0;
function messagecb(header, message) {
    if(header.type == 6) {
      // processEchoReply(message);

    } else if(header.type == 4) {
        var accels = message.b64UnpackAccelMsg();

    for(var index = 0; index < accels.length; ++index) {
        var accel = accels[index];
        var totalClock = accelEpochAdjust(accel.clock);

        addAccelDatum(totalClock, accel.x,  accel.y, accel.z);
    }

    if(i%10 == 0 && i!=0) {drawAccel();} i++; 

  } else if(header.type == 3) {
      // info
      var info2 = message.b64UnpackInfo2Msg();

      displayCurrentPosition(info2.fixtime, info2.lat, info2.lon, info2.alt);
      displayMobileStatus(info2.rssi, info2.bandClass, info2.batt);
  } else if(header.type == 11) {
      btReceive(header, message);
  }
}

关于javascript - 在循环中每收到第 10 个数据包运行函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16723476/

相关文章:

javascript - DOM Excptn 8 : Adding a Picture to a Div

javascript - 如何让javascript填充文本区域

javascript - Webpack 分块。没有内容出现 - block 未加载

javascript - 是否可以从跨浏览器跨操作系统的 Web 应用程序访问 USB?

javascript - 如何在文本编辑器中实时协作处理单个文档

javascript - 如何为 Canvas 创建标尺工具?

javascript - 按值对对象的属性进行排序并保留值

javascript - 顶部导航菜单取决于侧边栏

javascript - NodeJS - 是否可以有两个独立的集群?

javascript - 将 API 返回的 JSON 注入(inject) <li> Materialized.css JS