问题描述页面上有开始和结束两个操作;点击开始后开始计时并显示计时时长;终端1点击开始后,计时开始;终端2进入页面,从服务器获取到已经开始的时间,从获取到的时间开始计时;终端1点击结束,计时截止,终端1显示最终持续时间;终端2如何知道已经结束并停止计时,且显示的最终持续时间和终端1相同?问题出现的环境背景及自己尝试过哪些方法现在想到有两种方案方案1:前端定时器写一个定时器,每隔10S去服务端取一次数据,获取当前是开始还是结束的状态,如果是结束,则结束计时,显示计时的时间;存在问题:理论上可能存在最多10S的误差。如终端1点击开始后,终端2在10:00获取到状态为开始并开始计时;若在终端2下次调用接口之前,如10:01时终端1点击结束,终端1显示的最终持续时间为10:01;而终端2在10:10S时通过接口获知状态已经结束,终端2停止计时,显示的最终持续时间为10:10,和终端1不一致;方案2:websocket实时消息推送理论上来说,如果终端1点了停止,终端2实时获取到状态,再停止其计时,但存在网络问题,中间也可能有1~2S误差。相关代码// 请把代码文本粘贴到下方(请勿用图片代替代码)你期待的结果是什么?实际看到的错误信息又是什么?两个终端有没有什么办法让一个终端点击停止后,另一个终端能够立即获知,并结束自己的计时,最终两个终端显示的持续时间保持
添加回答
举报
0/150
提交
取消