Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
496 views
in Technique[技术] by (71.8m points)

用setInterval 做倒计时页面,终端和服务器时间不准确怎么解决?

setInterval已知就有两个缺陷:
1)某些事件间隔会被跳过
2)多个定时器的代码执行之间的间隔可能会比预期的小。
那么,如果使用setInterval保持和服务器事件的同步呢?
或者,如果不用setInterval,有什么其他的解决方案呢?


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

如果不需要很准确的话可以保存Date对象然后用setInterval在回调里取新的Date与保存的做比较,然后显示上去,这样setInterval只是做显示,具体的时间是通过对比电脑的时间得到的,无论setInterval中间间隔多么不准确都没关系。如果要很准确与服务器保持一致的话,可以在一个时间间隔内对服务发起一个请求做一下校正,不过要把请求的时间算上去。没有涉及到具体时间的话直接在客户端做倒计时应该还是准确的


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...