-
涛之雨 (taozhiyu) • 2 年前
看你需求了。
如果对于时间要求比较精确的话(比如购物抢购倒计时之类的),如果不相信本地时间,先请求一次。
然后可以设置几个时间节点,比如剩余时间超过5分钟,就用定时器本地计算(chrome的计时器其实不准。。。特别是加入了一个前后台优先级的机制之后)获取到后,可以通过记录本地的
Date
作为绝对时间参数。每次定时器都根据本地的Date
与服务器获取到的数据的时间差进对比以取得相对精准的数据。少于5分钟后,比如可以一分钟获取一次,小于10秒的时候甚至可以1秒更新一次(虽然没必要,而且会增加服务器的压力),只是凸显精准度的后面的重要性
此外,服务器获取时间有个问题,数据传输也是要时间的,如果网络不好完全可能超过500ms(甚至是1秒,甚至更严重服务器被cc炸了,还可能获取不到=_=)
所以如果不是很很很很很重要,直接用本地的定时器配合(第一次获取服务器的时间与本地的时间差进行校准后的)本地时间就可以了(吧)
-
涛之雨 (taozhiyu) • 2 年前
看你需求了。
如果对于时间要求比较精确的话(比如购物抢购倒计时之类的),如果不相信本地时间,先请求一次。
然后可以设置几个时间节点,比如剩余时间超过5分钟,就用定时器本地计算(chrome的计时器其实不准。。。特别是加入了一个前后台优先级的机制之后)获取到后,可以通过记录本地的
Date
作为绝对时间参数。每次定时器都根据本地的Date
与服务器获取到的数据的时间差进对比以取得相对精准的数据。少于5分钟后,比如可以一分钟获取一次,小于10秒的时候甚至可以1秒更新一次(虽然没必要,而且会增加服务器的压力),只是凸显精准度的后面的重要性
此外,服务器获取时间有个问题,数据传输也是要时间的,如果网络不好完全可能超过500ms(甚至是1秒,甚至更严重服务器被cc炸了,还可能获取不到=_=)
所以如果不是很很很很很重要,直接用本地的定时器配合(第一次获取服务器的时间与本地的时间差进行校准后的)本地时间就可以了(吧)
0 1 0 -
看你需求了。
如果对于时间要求比较精确的话(比如购物抢购倒计时之类的),如果不相信本地时间,先请求一次。
然后可以设置几个时间节点,比如剩余时间超过5分钟,就用定时器本地计算(chrome的计时器其实不准。。。特别是加入了一个前后台优先级的机制之后)获取到后,可以通过记录本地的
Date
作为绝对时间参数。每次定时器都根据本地的Date
与服务器获取到的数据的时间差进对比以取得相对精准的数据。少于5分钟后,比如可以一分钟获取一次,小于10秒的时候甚至可以1秒更新一次(虽然没必要,而且会增加服务器的压力),只是凸显精准度的后面的重要性
此外,服务器获取时间有个问题,数据传输也是要时间的,如果网络不好完全可能超过500ms(甚至是1秒,甚至更严重服务器被cc炸了,还可能获取不到=_=)
所以如果不是很很很很很重要,直接用本地的定时器配合(第一次获取服务器的时间与本地的时间差进行校准后的)本地时间就可以了(吧)