【发布时间】:2020-05-11 22:08:31
【问题描述】:
有可能吗?
我已经看到这个问题在这里出现了很多,但似乎没有人给出我正在寻找的答案。假设您有以下代码,应该从您的数据库中获取 Firebase 对象并返回值:
function get(target){
return database.ref(target).once("value",function(snapshot){
//console.log(snapshot.val());
return snapshot.val();
});
}
在我的例子中,期望是返回一个对象,即{"hello":"world"}。但是,我的结果始终是Promise {<pending>}。我已经对此进行了一些修改,我即将获得的唯一其他输出是undefined 和Promise {<resolved> {"hello":"world"}}。后者几乎是我想要的,但仍然不完全。
如何设置函数get() 使其返回snapshot.val() 的实际值而不是承诺。例如:
let response = get("/foo");
console.log(response["hello"]);
这个结果应该是world。
【问题讨论】:
标签: javascript firebase firebase-realtime-database promise firebase-authentication