+
 新版

如何解决前端获取时间并开始计时的延迟问题

sprouting 发布于 2022/11/30 14:34
阅读 1K+
收藏 0
vue

需求是这样的,我们的页面有一个需求,要获取当前时间并显示在页面上一直刷新。

之前的话是直接前端获取当前机器的本地时间,但这么写有几个问题,第一,有些机器根本没开启时间校准,偶尔开机,显示的时间都还是几年前的,实际碰到过。

第二,如果跨时区了,这个时间还是要以服务器的时间为准。

所以,这个时间需要从后台获取,但后台获取的话,这个时间因为网络问题,总是会有延迟,比如现在服务器以及13点整了,但因为延迟,客户端的时间少了10来秒,咋解决呢?

加载中
1
shooke
shooke

1楼的方案是可以的,如果要消除误差,可以在发送请求前,记录时间,数据返回后获取一个时间。这样两个值一减就知道网络耗时了。服务器返回的时间加上网络耗时,就是当前的真正时间。

校正频率可以根据情况处理比如1分钟一次。

0
ddatsh
ddatsh

js 定时循环用server time校正

sprouting
sprouting
还是会被延迟影响
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部