【发布时间】:2018-11-12 02:27:24
【问题描述】:
我想知道如何从 Flutter 上的路径中获取对象列表,这是我获取一个对象并且工作正常的方法:
static Future<Year> getYear(
String yearKey) async {
Completer<Year> completer = new Completer<Year>();
FirebaseDatabase.instance
.reference()
.child("year")
.child(yearKey)
.once()
.then((DataSnapshot snapshot) {
var year = new Year.fromJson(snapshot.key, snapshot.value);
completer.complete(year);
});
return completer.future;
}
现在我正在尝试以这种方式获取同一路径中所有年份的列表,但不知道如何迭代项目:
static Future<List<Year>> getYears() async {
Completer<List<Year>> completer = new Completer<List<Year>>();
List<Year> years = new List<Year>();
FirebaseDatabase.instance
.reference()
.child("year")
.once()
.then((DataSnapshot snapshot) {
//how to iterate over the items here?
completer.complete(years);
});
return completer.future;
}
请有人帮助我。
【问题讨论】:
-
这取决于你的数据库是结构化的
-
您已经在使用 .then((DataSnapshot snapshot) { //这就是您正在迭代的区域完成每个项目 completer.complete(years); });
-
没有 vinoth,缺少将项目添加到列表中,我不知道如何从快照中获取项目并放入列表中。
标签: firebase-realtime-database dart flutter