【发布时间】:2021-01-24 09:51:16
【问题描述】:
我有以下方法:
Future<List<Job>> getUserJobs() async {
Query query = _firebaseDatabase
.reference()
.child("jobs")
.child(_firebaseAuth.currentUser.uid)
.orderByKey();
List<Job> userJobs = [];
if (query == null) {
return userJobs;
}
query.onValue.listen((event) {
Map<dynamic, dynamic> values = event.snapshot.value;
values.forEach((key, value) {
userJobs.add(Job.fromJson(key, Map.from(value)));
});
});
return userJobs;
}
我想在另一个类中得到这个响应,但是,上面方法返回的列表总是[]。我检查并确实填充了 userJobs 列表,但之前执行了 return 语句。
数据库的结构是: 作业集合具有用户 ID,对于每个用户 ID,我有多个作业键(每个都有其作业数据)。
【问题讨论】:
标签: flutter asynchronous firebase-realtime-database async-await future