Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何强制Firebase给我一个新的serverTimeOffset而不是缓存它?_Javascript_Angularjs_Firebase_Angularfire - Fatal编程技术网

Javascript 如何强制Firebase给我一个新的serverTimeOffset而不是缓存它?

Javascript 如何强制Firebase给我一个新的serverTimeOffset而不是缓存它?,javascript,angularjs,firebase,angularfire,Javascript,Angularjs,Firebase,Angularfire,我正在使用Firebase对多个用户进行倒计时。我使用Firebase.info/serverTimeOffset来计算跨客户端的时间。问题是该值会被缓存,到目前为止,我能够通过缓存的唯一方法是完全重新加载firebase库,然后创建一个新的firebase对象,然后使用该对象。到目前为止,这是获得更新偏移量的唯一方法。有更好的方法吗?FYI-此值是客户机和服务器之间每个连接时间的估计差,因此对于给定的连接,在创建新连接之前不应更改。Firebase.ServerValue.TIMESTAMP会

我正在使用Firebase对多个用户进行倒计时。我使用Firebase.info/serverTimeOffset来计算跨客户端的时间。问题是该值会被缓存,到目前为止,我能够通过缓存的唯一方法是完全重新加载firebase库,然后创建一个新的firebase对象,然后使用该对象。到目前为止,这是获得更新偏移量的唯一方法。有更好的方法吗?

FYI-此值是客户机和服务器之间每个连接时间的估计差,因此对于给定的连接,在创建新连接之前不应更改。
Firebase.ServerValue.TIMESTAMP
会解决您的用例吗?不幸的是,它不会解决,因为它只是用于在到达Firebase服务器时解析时间戳值。这是供本地使用的,即使出于某种原因他们更改了本地时钟,也可以保持计时器的准确性。在这种情况下,您可以尝试通过
Firebase.goOffline()
和Firebase.goOnline()`重置Firebase连接。谢谢@RobDiMarco,这确实有效,但确实会导致一些其他小问题,但它帮助很大:)