在Firebase中只按日期收听最后一个孩子
Only listent to last children by date in Firebase
在我的应用程序中,我使用以下代码只侦听当前时间之后添加的子节点:
var start = new Date().getTime();
firebase.database().ref(path).orderByChild('created').startAt(start).on('child_added', function(value){
console.log(value.val());
});
在浏览器中,此方法运行良好。只有当我在当前时间之后开始添加时,我才会看到子节点。
在智能手机中,这种方法不起作用。只有当我在一定的秒数后开始添加子节点时,它才会起作用。我认为发生这种情况是因为智能手机的当前时间与服务器的当前时间不同。
有没有办法解决这个问题,而不必采取最后一个元素?
如果你手机上的时钟关闭,这将不可靠地工作。
Firebase检测本地时钟与服务器时间的偏移量,并将其公开为值.info/serverTimeOffset
。您可以使用它来纠正时钟倾斜,如时钟倾斜文档中所述:
var offsetRef = firebase.database().ref(".info/serverTimeOffset");
offsetRef.on("value", function(snap) {
var offset = snap.val();
var estimatedServerTimeMs = new Date().getTime() + offset;
});
阅读链接文档以获得完整的解释
相关文章:
- 表追加而不附加最后一个元素
- 无法在Ionic select中预先选择最后一个选项
- 为什么画布形状只在3个画布中的最后一个画布上渲染
- Jquery append oly获取循环Rails中的最后一个elemen
- 如何创建更好的方式来维护基于我的代码访问的最后一个页面
- dataTables-如何自定义分页类型以显示最后一个页码后面的省略号,
- 多维关联数组的最后一个索引
- 无法获取vis.js最后一个或第一个选定的网络节点
- 循环以检查数组中的最后一个图像
- 从输入值中删除最后一个单词
- 尝试使用Javascript正则表达式来获取“&"分隔文本,无论它是否's是最后一个值
- 当我有一个独特的孩子 + jquery 时,如何获得最后一个孩子
- Javascript Array 只显示最后一个孩子
- 第一个孩子最后一个孩子 Dom 遍历不起作用
- 如果有超过 3 个孩子,则隐藏最后一个孩子
- count'最后一个孩子'从javascript对象/数组结构中的任意点
- 在Firebase中只按日期收听最后一个孩子
- 当最后一个孩子出现时,我如何让点击功能停止工作
- 停止在第一个和最后一个孩子上向左和向右滑动列表的问题
- 如果是最后一个孩子,做点别的