firebase嵌套查询,响应慢

时间:2018-03-23 09:58:35

标签: javascript firebase react-native firebase-realtime-database promise

我想根据第一个查询收到的值查询firebase。所以在某种程度上它将成为嵌套查询。快照为我提供了一个需要在foreach查询上运行的列表值。我编写了查询但由于UI上显示的响应很慢,因此它看起来很慢。

如何更快地进行查询,或者如果是UI问题,那么如何修复它?

数据库结构:

App:
  bar:
    barKey:
      liquors:
        liquorTypes(Vodka):
          liquorName:
            details

  liquorInfo:
    liquorName:
      details

以下是我的查询:

getLiquorList = (liquorTypes, barKey) => {
    ((firebase.database().ref(`/bar/${barKey}/liquors/${liquorTypes}/`)
    .once("value", function(snapshot) {

        let result = [];
        snapshot.forEach(function(childSnapshot) {

            firebase.database().ref("/liquorInfo/"+childSnapshot.key).on("value", function (userSnap) {
                result.push({
                    key: userSnap.key,
                    image: userSnap.val().imageURL,
                    info:userSnap.val().info,
                    name: childSnapshot.key,
                    price: childSnapshot.val(),
                });

                this.setState({
                    liquorList: result,
                });

            }.bind(this));
        }.bind(this));
     }.bind(this))));
 };

0 个答案:

没有答案