Javascript 使用firebase数据库访问函数返回值
您好,我正在尝试获取函数返回的值,我在控制台日志中获取它们,但是调用函数时如何访问它们? 功能:Javascript 使用firebase数据库访问函数返回值,javascript,firebase,firebase-realtime-database,Javascript,Firebase,Firebase Realtime Database,您好,我正在尝试获取函数返回的值,我在控制台日志中获取它们,但是调用函数时如何访问它们? 功能: function getprofile(useruid) { return firebase.database().ref('users/'+useruid+'/') .once('value') .then(function(bref) { var username= bref.val().username; var provider= br
function getprofile(useruid) {
return firebase.database().ref('users/'+useruid+'/')
.once('value')
.then(function(bref) {
var username= bref.val().username;
var provider= bref.val().provider;
var submitedpic=bref.val().profilepic;
var storageRef = firebase.storage().ref();
console.log("The current ID is: "+useruid+" and the current username is: "+username+'/provider is: '+provider+'/pic is :'+submitedpic);
});
}
我这样调用我的函数:
getprofile(userid);
您必须从
回调返回一个值
function getprofile(useruid) {
return firebase.database().ref('users/'+useruid+'/')
.once('value')
.then(function(bref) {
var username= bref.val().username;
var provider= bref.val().provider;
var submitedpic=bref.val().profilepic;
var storageRef = firebase.storage().ref();
console.log("The current ID is: "+useruid+" and the current username is: "+username+'/provider is: '+provider+'/pic is :'+submitedpic);
// return the values here, in the form of an object
return {
useruid: useruid,
username: username,
provider: provider,
submitedpic: submitedpic,
storageRef: storageRef
};
// or simply return the value returned by firebase
/*
return bref;
*/
});
}
.once()
返回一个承诺,因此当您从getprofile()
获取返回值时,您将得到一个承诺,该承诺将从firebase调用中产生实际结果:
getprofile(userid).then(function(data) {
// use data here
})
嗨,谢谢你的回答,我怎样才能访问它们呢?我尝试了这个var profile=getprofile(userid);警报(profile.provider);我没有定义。谢谢它像一个符咒(y)有一个伟大的一天!