我正在使用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()函数进行回调。
答案 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);
})