我得到了一个快照值,如果我使用consoleiderlog,它会工作,但当我返回该值时,我得到的是“未定义”。
我尝试更改变量和返回值,并使用await和async。
async function GetElements(element, place) {
firebase.database().ref().child(place).orderByChild("uid").equalTo(element).once('value', (snapshot) => {
snapshot.forEach(function(childSnapshot) {
Holder = childSnapshot.val();
});
}, (errorObject) => {
console.log("User does not exist");
document.cookie = "uid=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT";
window.location.replace("login.html");
});
return Holder;
}
async function Test() {
var bob = await GetElements("POkHi19eyZTfdeYECVpZByeVv2R2", "users/");
console.log(bob)
}
Test()
1条答案
按热度按时间bxjv4tth1#
你可以试试这个:
这样,return语句将仅在回调函数被调用并且"Holder"被设置为正确值之后执行。