同一个页面在不加setInterval定时器的时候,webSocket收到服务器的数据,马上显示并且是正常的;
加上setInterval,每10毫秒执行一次,webSocket收到的数据会延迟,随着时间的推移 延迟越大,可以排查是服务器发送延迟,应该是阻滞在客户端了,难道跟setInterval有冲突吗?
如果把服务器关掉,小程序会很快把没有显示的数据一个一个显示完!说明小程序是收到数据的!
setInterval和webSocket不能兼容吗???
代码:
onload里面:setInterval(that.clockupdate2,10);
clockupdate2:function(){
var that = this;
if (app.globalData.websocketopen == false) {
return;
}
var m_nums = that.data.m_nums;
var s_nums = that.data.s_nums;
if (m_nums == 0 && s_nums == 0) {
//return;
}
if (s_nums == 0) {
s_nums = 99;
if (m_nums == 0) {
m_nums = 9;
} else {
m_nums–;
}
} else {
s_nums–;
}
var m_nums_str = m_nums;
var s_nums_str = s_nums;
if (m_nums < 10) {
m_nums_str = ‘0’ + m_nums;
}
if (s_nums < 10) {
s_nums_str = ‘0’ + s_nums;
}
that.setData({
m_nums_str: m_nums_str,
s_nums_str: s_nums_str,
m_nums: m_nums,
s_nums: s_nums
});
}
然后wensocket收到信息:
that.setData({ m_nums: 9, s_nums: 99 });
就这些关键代码