0

我有一个看起来像这样的 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打印我的承诺:((所以我不能返回我想要的元素。我找不到原因。

我听说过异步和等待,但我不知道如何实现它。

非常感谢

4

0 回答 0