gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 13:02:57 25 4
gpt4 key购买 nike

下面是一个对从服务器接收到的每个数据包运行 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com