flutter - 需要将异步调用传递给firestore中的查询参数
问题描述
我的方法无法编译,因为 getVenueId(user) 是异步的。我不能让 ordersStream 异步,因为它是一个流。
@override
Stream<List<Order>> ordersStream(String venueId) {
User user= User();
final venueId = await getVenueId(user);
return
service.collectionStream(path: APIPath.orders(), queryBuilder: (query) => query.where('venue.id', isEqualTo: venueId), builder: (data, documentId) => Order.fromJson(documentId, data));
这是 myVenueId 方法..
Future<String> getVenueId(User user) async {
final res = await Firestore.instance.document(APIPath.users(uid)).get();
final data = res.data;
user = User.fromJson(data);
return user.venueIds;
}
我需要将其用作查询参数
解决方案
You could use getVenueId(user).then((value) => {//Do sth here})
;
Stream<List<Chat>> ordersStream(String venueId) {
return get("url").then((venueId) {return service.collectionStream(path: APIPath.orders(), queryBuilder: (query) => query.where('venue.id', isEqualTo: venueId), builder: (data, documentId) => Order.fromJson(documentId, data));});
}
推荐阅读
- go - 我如何解释当我尝试使用 http.ListenAndServe() 时收到的错误消息?
- java - RN callkeep: error cannot find symbol with FOREGROUND_SERVICE_TYPE_MICROPHONE
- javascript - 通过 Heroku 运行的 Autodesk Forge 不会显示仪表板扩展
- node.js - Twitter API:多个经过身份验证的用户返回相同的主页时间线
- ios - 为什么我在 SwiftUI 中重新打开应用程序时没有保存 CoreData?
- node.js - 反应构建资产表达静态文件夹不服务错误es6
- angular - 如何为 mat-form-field 设置焦点边框线颜色
- ansible - 根据 Ansible 事实设置变量
- node.js - TypeORM - 重复键值违反唯一约束(可延迟 fk)
- camera - 没有 3rd 方应用程序的 AR 表示