Firebase.ServerValue.TIMESTAMP 在直接 child_added 上返回不同的值

2024-05-25

我有一个带有服务器时间戳的 Firebase Push,其中child_added听众已经在听了。

非常令人惊讶的是,价值又回到了child_added事件与 Firebase 数据库节点中实际存储的事件大约有 300 毫秒的差异。在同一节点上的后续读取提供了存储在该节点上的“正确”时间。只有在推送发生时触发的初始 child_added 事件才会返回错误的时间。

有人观察过这个问题吗?

ref = new Firebase(/some/path);
ref.on('child_added', function (childData) {
   console.log('childData.pushTime = ' + childData.pushTime);
});
ref.push({pushTime: Firebase.ServerValue.TIMESTAMP});

console.log 打印的内容与实际存储在路径中的内容相差大约 300 毫秒。


您看到的行为是预期的行为。

出现这种情况是因为child_added事件在本地触发,使用的值ServerValue.TIMESTAMP这是使用本地时间和本地时钟与服务器时钟的偏移量确定的。但是,无法考虑请求到达服务器所需的时间 - 因此时间戳不同。

如果你也听child_changed事件,一旦写入完成,它将触发一个包含正确时间的快照。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Firebase.ServerValue.TIMESTAMP 在直接 child_added 上返回不同的值 的相关文章

  • 链接器命令失败,退出代码为 1 -- Firebase

    对 iOS 开发相当陌生 有些人在将 firebase 安装到我的 iOS 应用程序中时遇到了一些麻烦 本质上 该应用程序要做的就是从 Firebase 数据库中获取有关全国各地路线的信息 该信息将输出到表格视图 该表格视图将允许用户选择其
  • Angular Firebase 使用电话号码登录

    我是这个网站的新手 所以如果我犯了错误 请纠正我 我会修复它 并原谅我 我也是 Angular 4 环境的新手 Firebase 有一个新选项 signInWithPhoneNumber 我想在我的新应用程序上实现它 该方法需要参数 sig
  • Firebase 令牌未生成

    我得到的令牌未生成 onTokenrefresh 没有调用 谁能帮忙 它已连接到 firebase 但令牌仍然没有生成 public class MyFireBaseInstanceId extends FirebaseInstanceId
  • 我是否需要扩展 FirebaseInstanceIdService 才能订阅 FCM 主题?

    我想从客户端 android 应用程序 管理主题订阅 我目前正在 onCreate 活动中执行此操作 我想知道正确的方法是否是在 InstanceIdService onTokenRefresh 或任何方便的时间 单击按钮等 订阅 取消订阅
  • 调试firebase云函数

    如何使用 Visual Studio 代码进行调试firebase 数据库 trigger功能 我尝试了模拟器 但是当我调用它时出现错误 functions debug myMethod C functions functions gt f
  • 如何使用多重身份验证 - firebase?

    我有一个注册屏幕 其中包含 用户名 电子邮件 电话号码 密码 在本例中 我使用电话号码身份验证来验证号码 因此在用户验证他的号码后 我将他的数据保存到 firebase DB 中 所以在那之后 我将下摆导航到登录屏幕 应该包含电子邮件 密码
  • Firebase 函数,admin.database().ref(...).get() 不是函数

    我正在开发一个 Android 应用程序 并使用 firebase 作为它的后端 我正在尝试让通知系统正常工作 该系统依赖于监听数据库中的更改 但遇到问题 因为我收到以下错误 想知道是否有人能够提供帮助 可以提供任何额外的代码 Fireba
  • 在 GCloud 中使用 Firebase 截屏时出现错误

    我在尝试集成屏幕截图库时遇到了很多麻烦here https firebase google com docs test lab test screenshots 进入我非常简单的 Android 项目 我非常仔细地按照教程中概述的步骤进行操
  • 使用admin sdk在云函数中执行firestore集合组查询?

    firestore collectionGroup 方法在云函数中与 firebase admin sdk 一起使用时出现错误 是否可以在云函数中对 firestore 进行集合组查询 这是我尝试使用的 firestore 查询方法 htt
  • 我应该使用什么事件在 Firebase Analytics 上发送“按钮按下”事件

    我发现最合适的是选择内容 https firebase google com docs reference android com google firebase analytics FirebaseAnalytics Event html
  • Firebase Function 从其他文件导入函数 - javascript

    我正在使用 javascript 构建 firebase 函数 现在我有很多内部调用函数 我计划将这些函数移动到不同的文件中 以避免 index js 变得非常混乱 下面是当前的文件结构 functions index js interna
  • 如何在列表视图中滚动添加更多项目?

    这里的代码当前加载了存储在 Firestore 集合中的所有啤酒 我如何最初只加载 10 个啤酒 然后当用户向下滚动并到达 10 个啤酒列表的末尾时 它应该加载最后一次酿造后还有 10 杯 并且酿造应根据时间戳进行排序 class Brew
  • Firebase无法组合调用 equalTo() 和 startAt() [重复]

    这个问题在这里已经有答案了 我有一个 Firebase 数据库 我正在尝试查询 但是我在运行时收到错误消息 java lang IllegalArgumentException Can t call equalTo and startAt
  • Firebase,只得到新的孩子[重复]

    这个问题在这里已经有答案了 var firebase new Firebase firebaseRef on child added function snapshot 这将接收所有元素 有没有办法在创建新的 Firebase 引用时不接收
  • GeoFire Swift 3 - 保存和更新坐标

    我正在尝试使用 GeoFire 将坐标存储到 Firebase 数据库中 我不确定如何更新新坐标 因为它们每秒都会更改 更新 随着childByAutoId 它正在为每辆自行车生成一个新的唯一 ID 如何引用这个唯一的自行车 ID 例如 用
  • Firebase 身份验证问题 - 通过电子邮件地址检查用户是否存在

    我在 Firebase 上创建了一个帐户 它有效 但现在我想阻止人们使用已存在的电子邮件地址创建帐户 这是代码 DatabaseManager shared userExists with email completion weak sel
  • 无法访问 com.google.android.gms.internal.zzbfm 的 zzbfm 类文件未找到

    我正在将我的 Android 应用程序项目从GCM to FCM 为此 我使用 Android Studio 中的 Firebase 助手工具 并遵循 Google 开发人员指南中的说明 一切都很顺利 并将我的应用程序代码更改为FCM根据助
  • Firebase 函数 onWrite 未被调用

    我正在尝试使用 Firebase 函数实现一个触发器 该触发器会复制数据库中的一些数据 我想观看所有添加的内容votes user vote 结构为 我尝试的代码是 const functions require firebase func
  • Firebase 添加新节点

    如何将这些节点放入用户节点中 并创建另一个节点来存储帖子 我的数据库参考 databaseReference child user getUid setValue userInformations 您需要使用以下代码 databaseRef
  • Firebase - 有没有办法查看有多少人安装了该应用程序?

    Parse 支持安装功能 我不确定 firebase 是否也支持 但在 Google 中挖掘了几个小时后 我无法找到有关如何在 Firebase 中查看 计算用户安装的重要信息 有没有办法计算 Firebase 中的用户安装量 或者甚至还有

随机推荐