【问题标题】:Firebase Not Running Callbacks As ExpectedFirebase 未按预期运行回调
【发布时间】:2016-09-20 16:03:30
【问题描述】:

我有一个 Firebase 数据库,其根目录为 { hello: 'world'}。每当我尝试在 Node 中读取 hello 的值时,除非我从 Node 进程中修改该值,否则不会执行回调。

这是once 电话:

let callback = (snapshot) => {
  console.log('The value is ', snapshot.val());
};

db.ref('hello').once('value', callback);

此时,我希望回调运行并打印“值是世界”打印...但没有任何反应。现在说我使用on 而不是once。即使我从 Firebase Web 控制台或其他 Node 进程修改值,仍然不会调用回调!奇怪的是,所有这些代码都可以在具有相同库版本(v3.0.2)的浏览器中按预期工作。

我设法执行回调的唯一方法是直接从同一个 Node 进程修改值。

db.ref('hello').once('value', callback);
db.ref('test').set('moon');

// => 'The value is moon.'

我创建了一个带有测试脚本的repository,以帮助复制调试问题。

【问题讨论】:

  • 您的节点处理正在退出吗?你确定它在回调应该发生的时候还在运行吗?
  • 是的,Node 进程仍在运行。
  • 尝试添加错误回调并查看它记录的错误。
  • @Kato 永远不会调用错误回调。
  • @Kato 查看我发布的存储库链接。 Firebase 工作人员也验证了此错误。

标签: node.js firebase firebase-realtime-database


【解决方案1】:

事实证明,这是一个影响某些帐户的已知问题,Firebase 团队正在努力解决这个问题!

【讨论】:

  • 你知道是否有一个公共跟踪器可以让我们看到这个错误吗?一直把我的头发拉到这个上......
  • 没有公开的错误跟踪器,但如果您向支持部门发送电子邮件,他们会将您列入列表,以便在更改时收到通知。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-12
  • 1970-01-01
  • 1970-01-01
  • 2019-05-23
  • 2014-11-12
  • 1970-01-01
相关资源
最近更新 更多