我想根据第一个查询收到的值查询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))));
};