#flutter #dart
#флаттер #дротик
Вопрос:
Это мой код. И я хочу вернуть свои данные memo_list
. memo_list
иметь значение в коде here
.
Но memo_list
возвращает пустое значение.
Я не знаю, почему данные были удалены.
List fetchMemosFromAllUsers(List<dynamic> users){
List memo_list = List();
for(final user in users){
FirebaseFirestore.instance.collection("MEMO").where(KEY_USERKEY, isEqualTo: user).get().then((docs) {
if(docs.docs.isNotEmpty){
for(int i = 0; i < docs.docs.length; i ){
memo_list.add(docs.docs[i].data()); <-------here
}
}
});
}
return memo_list;
}
Ответ №1:
Вы не ждете возвращения будущего. memo_list возвращается до выполнения .then() , поэтому memo_list всегда будет пустым.
Попробуйте
Future<List> fetchMemosFromAllUsers(List<dynamic> users) async {
List memo_list = List();
for(final user in users){
await FirebaseFirestore.instance.collection("MEMO").where(KEY_USERKEY, isEqualTo: user).get().then((docs) {
if(docs.docs.isNotEmpty){
for(int i = 0; i < docs.docs.length; i ){
memo_list.add(docs.docs[i].data()); <-------here
}
}
});
}
return memo_list;
}