时间:2019-05-07 来源:小程序工厂
吴***:
setTimeout 会因为主线程的阻塞而有延迟。
建议使用 Date.now() 获取时间戳作为矫正偏差的辅助,配合 requestAnimationFrame 一起使用(比如需求 interval 为 1000 毫秒,那就每个 raf 都判断当前时间距离上一个 tick 的时间戳的距离,如果大于一秒就立即触发某个事件)
北***:
谢谢解答,这思路不错,我试试
微信小程序内定位不准确,与实际位置偏差很大,在手机上也是如此 ...
北***:
微信小程序不支持requestAnimationFrame 。。。
吴***:
那就 setInterval 16.6667ms 咯
北***:
setInterval 和setTimeout 都不准,要是有一个准的我就不用纠结了,这种重复很多次的,后面误差越来越大
为啥我的弹幕发送不出去--微信小程序开发
吴***:
我的意思是 setInterval 16.667 毫秒近似等于 requestAnimationFrame。
理论上频率足够高就行,反正是不断检查当前的时间戳,误差不会累积。