我目前正在使用此功能从我的Firebase项目中获取数据:
function getv(user)
{
var ref = firebase.database().ref('/users/'+user+'/points');
ref.once("value", function(snapshot) {
console.log(snapshot.val());
});
}
但是,如果我在控制台中运行它,我会得到“未定义”,然后是值:
如果我尝试将其分配给变量,然后获取值...
x = getv('Donut')
console.log(x)
我得到“未定义”。我真的完全不知道为什么会发生这种情况。
感谢任何帮助,如果需要,我可以提供更多信息。
编辑:用console.log(snapshot.val())
替换return snapshot.val()
仍然会返回undefined。
编辑2:我尝试将我的函数转换为异步函数,将其转换为Promise,但它仍然返回undefined
。
异步版本:
async function getv(user)
{
var ref = await firebase.database().ref('/users/'+user+'/points')
ref.once("value", async function(snapshot) {
return await snapshot.val()
});
}