开发者社区> 问答> 正文

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

如何解决前端获取时间并开始计时的延迟问题?
需求是这样的,我们的页面有一个需求,要获取当前时间并显示在页面上一直刷新。

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

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

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

展开
收起
OSC开源社区 2024-05-31 15:50:45 48 0
2 条回答
写回答
取消 提交回答
  • 由于客户端时间可能因用户设置、时区问题或未同步而出现不准确,最佳做法是初始化计时器时从服务器获取标准时间。这可以通过API请求实现,获取到的时间戳作为计时的起点,确保所有客户端的计时基于同一时间源。

    2024-05-31 18:46:35
    赞同 展开评论 打赏
  • js 定时循环用server time校正

    如果要消除误差,可以在发送请求前,记录时间,数据返回后获取一个时间。这样两个值一减就知道网络耗时了。服务器返回的时间加上网络耗时,就是当前的真正时间。校正频率可以根据情况处理比如1分钟一次。

    2024-05-31 16:41:52
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Vue.js 在前端服务化上的探索与实践 立即下载
阿里文娱大前端技术实践 立即下载
前端代码是怎样智能生成的 立即下载