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 的异步,并且简单地在FutureBuilder
as中可用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。