我有一个看起来像这样的 Firebase 数据库。
我有很多具有不同 ID 的产品。
现在:我的 API 中有一个函数 getbyID :
getbyId: function(myId) {
var obj = FireBase.database().ref('product')
.orderByChild('id')
.equalTo(myId)
.once("value", function(snapshot) {
var key;
snapshot.forEach(function (childSnapshot) {
key = childSnapshot.key;
return true;
});
if (key) {
console.log(FireBase.database().ref('product').child(key).toString());
return (FireBase.database().ref('product').child(key).toString());
} else {
console.log("Your ID doesn't exist");
}
});
console.log(obj);
return (obj);
},
我希望这个函数返回与我在参数中给出的好 ID 的孩子对应的 JSON。当我在 if (key) 之后使用控制台日志打印时,它正在工作
console.log(FireBase.database().ref('product').child(key).toString());
这个console.log给我打印了elem的链接(而不是Json :()
但是问题是当我打印“obj”时
console.log(obj)
这个console.log打印我的承诺:((所以我不能返回我想要的元素。我找不到原因。
我听说过异步和等待,但我不知道如何实现它。
非常感谢