即时通讯,定时器不同步,大家怎么解决?
发布于 5 年前 作者 liyao 19360 次浏览 来自 问答

问大家个问题,我写一个答题类的小程序,即时通讯控制第一题一起开始,然后定时器控制下一题的开始(三秒一题),在不同的手机上不同步,相差越来越多。大家碰到过么?

1 回复

setInterval它只是控制进入任务队列的时机而已。开始的误差小,根据手机实际性能,会区别越来越大。

2种思路:

1、小程序端处理:你可以开始的时候 new Date(),都记录当前的毫秒数,setInterval 100毫秒去执行一次 new Date(),然后根据开始的差值判断到没到3秒。

2、服务器端处理:在服务器做同步,服务器判断到了3秒,统一通知各个手机开始下一题了。

回到顶部