Je veux obtenir la valeur de retour Future
et l'utiliser comme variable. J'ai cette fonction 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;
}
Et je veux obtenir de la valeur comme ça
final user = _fetchUserInfo(id);
Mais quand j'ai essayé d'utiliser comme ça
new Text(user.userName);
Dart ne reconnaît pas la classe User
. Il indique dynamic
.
Comment puis-je obtenir la valeur de retour et l'utiliser?
Est-ce que je me trompe d'abord? Toute aide est appréciée!
Vous pouvez simplifier le code:
Future<User> _fetchUserInfo(String id) async {
User fetchedUser;
var snapshot = await Firestore.instance
.collection('user')
.document(id)
.get();
return User(snapshot);
}
vous devez également asynchroniser/attendre pour obtenir la valeur
void foo() async {
final user = await _fetchUserInfo(id);
}
var username;
dbHelper.getUsers().then((user) {
username = user.getName;
});
cette fonction renvoie la valeur future
dbHelper.getUsers()
c'est écrit comme ça
getUsers() async { .... }