首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Firebase reference.on()未触发

Firebase reference.on()未触发
EN

Stack Overflow用户
提问于 2017-06-28 23:26:33
回答 1查看 669关注 0票数 1

在学习Google Maps APIs Transport Tracker教程的过程中,除了.on()回调之外,一切似乎都在按预期进行。所有的回调似乎都没有触发。

当单击登录到控制台的引用链接时,它会显示预期的Firebase数据库路径,并且会定期更新。但是,下面的回调永远不会触发。

代码语言:javascript
复制
  firebase.initializeApp(firebaseConfig);
  const db = firebase.database();

  console.log('Adding callback for current-time changes');
  var ref = db.ref('current-time');
  console.log('ref = '+ref);
  ref.on('value', snapshot => {
    console.log('Current-time snapshot');
    displayTimeElement.textContent = snapshot.val().display;
    console.log(snapshot.val().display);
  });

控制台记录以下内容。

代码语言:javascript
复制
Adding callback for current-time changes
index.js:500 ref = https://transport-tracker-XXXXX.firebaseio.com/current-time

不会触发回调,因为控制台消息不会被记录,并且HTML页的displayTimeElement值永远不会更新。我也尝试过在回调中设置断点,但是一直没有达到。

因此,我能做的唯一的假设就是回调永远不会因为某种未知的原因而触发。

谢谢你提供的任何帮助。

EN

回答 1

Stack Overflow用户

发布于 2017-06-30 23:29:02

如下所示,为cancelCallbackOrContext添加回调后,它记录了我的应用程序没有读取权限。

代码语言:javascript
复制
  db.ref('current-time').on
    ('value'
    ,snapshot => {
        displayTimeElement.textContent = snapshot.val().display;
        }
    ,error => {console.log(error);}
    );

将数据库身份验证规则更改为:

代码语言:javascript
复制
{
  "rules": {
    ".read": true,
    ".write": true
  }
}

一切都按要求工作。

如果Transport Tracker教程提到这一点,那就太好了……

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44806786

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档