我在云存储中有两个集合,用于存储某些类型产品的数据。这些产品中的每一个都有三个变量,这些变量在不同的任务count,count2和count3中用作计数器。 我想做的是遍历带有这些集合名称的数组,并在每个集合中比较哪个产品的计数器最大。
Future<List<List<DocumentSnapshot>>> getPopularList() async {
List<List<DocumentSnapshot>> res = new List<List<DocumentSnapshot>>();
var array = ['Frutas&Vegetales', 'Pan&Pasteles'];
for (int i = 0; i < array.length; i++) {
QuerySnapshot querySnapshot = await
Firestore.instance.collection(array[i]).getDocuments();
var lista = querySnapshot.documents;
int max = 0;
int max2 = 0;
int max3 = 0;
DocumentSnapshot items;
DocumentSnapshot items2;
DocumentSnapshot items3;
List<DocumentSnapshot> listdocs = new List<DocumentSnapshot>();
for (int i = 0; i < lista.length; i++) {
if(lista[i]['count'] > max){
max = lista[i]['count'];
items = lista[i];
}
if(lista[i]['count2'] > max2){
max2 = lista[i]['count2'];
items2 = lista[i];
}
if(lista[i]['count3'] > max3){
max3 = lista[i]['count3'];
items3 = lista[i];
}
}
listdocs.add(items);
listdocs.add(items2);
listdocs.add(items3);
res.add(listdocs);
}
return res;
}
我需要从列表中获取值,而不是Future的实例。
答案 0 :(得分:0)
使用await
List<List<DocumentSnapshot>> lista_populares = await getPopularList();