Как «добавить» снимки запросов firebase к потоку

#android #firebase #dart #flutter #google-cloud-firestore

#Android #firebase #dart #флаттер #google-облако-firestore

Вопрос:

Мне было интересно, возможно ли «добавить» запросы firebase к отдельному потоку внутри flutter. Объедините все потоки в один поток.

В данный момент код получает всех пользователей, за которыми следует учетная запись, затем перебирает каждый идентификатор пользователя и получает их сообщения. Мне было интересно, могу ли я объединить все эти запросы сообщений в один основной поток

 Future<Stream<QuerySnapshot>> getfollowing() async{

    DocumentSnapshot userQuery = await Firestore.instance.collection('Users').document(id).get();//Gets who the user follows
    Stream<QuerySnapshot> fullprofilesdata ;

    for (String user in userQuery["following"]) {
      QuerySnapshot personQuery = await Firestore.instance.collection('Users')
          .document(user).collection("posts")
          .getDocuments();


      //fullprofilesdata.append(personQuery);

    }
    return fullprofilesdata;
  }
  

Ответ №1:

Я сижу с той же проблемой, но я думаю, что вы на правильном пути. Все, что вам нужно изменить, это цикл for.

Вы устанавливаете один и тот же снимок запросов для разных данных (personQuery).

Вместо этого создайте personQuery QuerySnapshot над циклом.

Есть способ добавить к снимку запросов с помощью :

 personQuery.documents.add();
  

Также не используйте getDocuments() , поскольку это приведет только к получению данных, но не потока.

Используйте snapshot() вместо этого.

Надеюсь, это немного помогло 🙂

Удачи, ребята, программисты.