代码: 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 }); 就这些关键代码
setInterval导致webSocket数据延迟同一个页面在不加setInterval定时器的时候,webSocket收到服务器的数据,马上显示并且是正常的; 加上setInterval,每10毫秒执行一次,webSocket收到的数据会延迟,随着时间的推移 延迟越大,可以排查是服务器发送延迟,应该是阻滞在客户端了,难道跟setInterval有冲突吗? 如果把服务器关掉,小程序会很快把没有显示的数据一个一个显示完!说明小程序是收到数据的! setInterval和webSocket不能兼容吗???
2018-05-30