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;
}
そして、私はそのような価値を得たい
final user = _fetchUserInfo(id);
しかし、私はこのように使用しようとしたとき
new Text(user.userName);
DartはUser
クラスとして認識しません。 dynamic
と表示されます。
戻り値を取得して使用するにはどうすればよいですか?
最初に間違った方法をやっていますか?どんな助けも大歓迎です!
コードを単純化できます:
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);
}
var username;
dbHelper.getUsers().then((user) {
username = user.getName;
});
この関数は将来の値を返します
dbHelper.getUsers()
このように書かれています
getUsers() async { .... }