我的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,以帮助复制调试问题。
答案 0 :(得分:2)
事实证明,这是一个影响某些帐户的已知问题,Firebase团队正在努力解决这个问题!