Flutter中的Cloud Firestore getAll()等效项

时间:2019-03-01 21:01:12

标签: firebase dart flutter google-cloud-firestore

我有几个文档ID,想在所有文档ID都收集完后运行一个函数。

现在我的代码如下:

    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并知道所有updateBlockValue都已解决?

1 个答案:

答案 0 :(得分:1)

仅服务器SDK提供getAll。当前没有等效的移动SDK。因为Flutter SDK只是Android和iOS SDK的包装,并且两者都不提供getAll,所以Flutter也没有提供它。现在,您只需要执行多次获取,这并没有听起来那么糟糕(所有请求都通过单个连接进行流水线处理。)

Dart有大量的资源wait for multiple futures。该问题并非Firestore独有。