firebase database.ref()。一旦回调从未调用过(javascript,ionic)

时间:2017-10-28 18:43:30

标签: javascript firebase firebase-realtime-database

我正在使用javascript开发带有离子框架的firebase应用程序。我的所有数据库写入操作都有效,但无论我尝试什么,我都无法读取数据。

我有一个功能:

  setCompanyAndTitle(){
    let uid = firebase.auth().currentUser.uid;
    let userRef = this.database.ref('users/'+uid);
    userRef.once('value').then(function(user){
      alert("pls " + user.displayName);
    //NEVER CALLED  !!!!!!!!
    }).catch(function(error){
      var errorMessage = error.message;
      alert(errorMessage);
    //NEVER CALLED  !!!!!!!!!
    });

  }

我的firebase初始化如下:

firebase.initializeApp({
    apiKey: "xxxxxxxxxxxxxxxxxxxxxxx",
    authDomain: "xxxxxxxxxxx.firebaseapp.com",
    databaseURL: "xxxxxxxxxx.firebaseio.com",
    projectId: "xxxxxxxxx",
    storageBucket: "xxxxxxxxxx.appspot.com",
    messagingSenderId: "000000000"
  });

无论我尝试什么,我都无法使用once()函数进行回调。

1 个答案:

答案 0 :(得分:0)

尝试将let userRef = this.database.ref('users/'+uid);更改为let userRef = firebase.database().ref('users/'+uid);。此外,您应该像这样访问您的回复:

userRef.once('value').then(function(userSnapshot){
      cont user = userSnapshot.val()
      alert("pls " + user.displayName);
    })