0

FutureBuilder在一个非常复杂的工作表中,我正在使用Listview.builder它帮助我列出我周围的所有组(使用 Algolia 搜索),如下所示:

future = _algolia
              .index('groups')
              .setAroundLatLng(
                  '${_startLocation.latitude.toString()}, ${_startLocation.longitude.toString()}')
              .setFacetFilter("category:$category")
              .search(_query)
              .setHitsPerPage(1000)
              .getObjects();

现在,我还想包括totalUsers每个组。问题:它们保存在 Firestore (groups/groupId/totalUsers) 中。现在对于 Firestore,当我需要请求时totalUsers,我必须交出每一个groupId(来自 Algolia 的异步,并且简单地在FutureBuilderas中可用document.data['groupId'])。所以我尝试totalUsers从 ListTile 内调用FutureBuilder,使用getTotalUsers(document.data['groupId']),

  getTotalUsers(groupId) async{
    DocumentReference reference =
    Firestore.instance.collection('groups').document(groupId.toString());
    DocumentSnapshot snapshot;
    snapshot = await reference.get();
    return snapshot['totalUsers'];
  }

...但由于它是异步的,它只是给了我“未来的实例”。现在,包含 totalUsers 并从小部件树中“等待”它的最简单方法是什么?我想我无法在 initstate 中加载它,因为我首先必须从“aroundme”组中交出特定的用户 ID。

4

0 回答 0