我想获得 Future
返回值并像变量一样使用它。
我有这个Future
功能
Future<User> _fetchUserInfo(String id) async {
User fetchedUser;
await Firestore.instance
.collection('user')
.document(id)
.get()
.then((snapshot) {
final User user = User(snapshot);
fetchedUser = user;
});
return fetchedUser;
}
我想像这样获得值(value)
final user = _fetchUserInfo(id);
但是当我尝试这样使用时
new Text(user.userName);
Dart 无法识别为 User
类。它说动态
。
如何获取返回值并使用它?
我首先做错了吗?
任何帮助表示赞赏!
最佳答案
你可以简化代码:
Future<User> _fetchUserInfo(String id) async {
User fetchedUser;
var snapshot = await Firestore.instance
.collection('user')
.document(id)
.get();
return User(snapshot);
}
你还需要 async
/await
来获取值
void foo() async {
final user = await _fetchUserInfo(id);
}
https://stackoverflow.com/questions/52068669/
相关文章:
Flutter - InheritedWidget - 处置
flutter - 如何在 Flutter 的文本输入字段中配置自动大写行为?
dart - 在 Flutter 中显示全屏图像 onTap
google-maps - Flutter:如何使用新的 Marker API 向 Google M
dart - 在 Flutter 中调用 showTimePicker() 时如何使用 24 小时制
flutter - 如何在 flutter 中创建没有应用栏的标签栏?
dart - Flutter - 通过滑动或按下 floatingActionButton 来展开