Как я могу получить значение Future <List <List <DocumentSnapshot >>>? - PullRequest
0 голосов
/ 17 июня 2019

У меня в облачном пожарном хранилище две коллекции, в которых я хранил данные определенных типов продуктов. Каждый из этих продуктов имеет три переменные, которые используются в качестве счетчиков в различных задачах 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.

1 Ответ

0 голосов
/ 17 июня 2019

использование await

List<List<DocumentSnapshot>> lista_populares = await getPopularList();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...