Облачный Firestore getAll () эквивалент в Flutter - PullRequest
0 голосов
/ 02 марта 2019

У меня есть несколько идентификаторов документов, и я хочу запустить функцию после того, как все они собраны.

Сейчас мой код выглядит так:

    List<Future<DocumentSnapshot>> futures = [];
    currentVenuesIds.forEach((currentVenueId) {
      Future<DocumentSnapshot> venueFuture = Firestore.instance
          .collection('venues')
          .document(currentVenueId)
          .get();
      futures.add(venueFuture);
    });
    futures.getAll(...)   //????????? This does not exist

В документации Cloud Firestore естьметод с именем getAll(): https://cloud.google.com/nodejs/docs/reference/firestore/0.13.x/Firestore#getAll

Есть ли что-то подобное для Flutter SDK?Если нет, то каков лучший способ get() нескольких документов с сервера параллельно и знать, что все их promise/future разрешены?

1 Ответ

0 голосов
/ 02 марта 2019

Только серверные SDK предлагают getAll.В настоящее время нет эквивалента для мобильных SDK.Поскольку Flutter SDK является просто оберткой вокруг Android и iOS SDK, и ни один из них не предлагает getAll, поэтому Flutter также не предлагает его.Прямо сейчас вам просто нужно выполнить несколько операций получения, что не так плохо, как кажется (все запросы передаются по конвейеру по одному соединению).

Для Dart имеется множество ресурсов о том, как ждать нескольких фьючерсов .Эта проблема не является уникальной для Firestore.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...