问大家个问题,我写一个答题类的小程序,即时通讯控制第一题一起开始,然后定时器控制下一题的开始(三秒一题),在不同的手机上不同步,相差越来越多。大家碰到过么?
setInterval它只是控制进入任务队列的时机而已。开始的误差小,根据手机实际性能,会区别越来越大。
2种思路:
1、小程序端处理:你可以开始的时候 new Date(),都记录当前的毫秒数,setInterval 100毫秒去执行一次 new Date(),然后根据开始的差值判断到没到3秒。
2、服务器端处理:在服务器做同步,服务器判断到了3秒,统一通知各个手机开始下一题了。