【发布时间】:2020-07-07 00:09:14
【问题描述】:
我有一个 Flutter 项目,并且正在使用 Firebase。一切正常,我可以读取、写入更新数据。但是,在我的一门课程中,我需要从 Firebase 获取我的一个属性的列表:
var accountNames = List<String>();
_getData(BuildContext context) {
List<String> accountList = [];
final accounts = _database.collection('userAccounts').getDocuments().then((snapshot) {
snapshot.documents.forEach((f) {
accountNames.add(f['accountName']);
print(accountNames); //first call
});
}); // non_updated_area
print(accountNames); //second call
}
在这里,我对accountName 的第一次调用给出了正确的输出。然而,第二个电话给了null 。我尝试了几个选项,例如返回 List、Widget 等函数,但无法到达 non_updated_area 之外的更新后的 accountNames 。
你有解决办法吗?
【问题讨论】:
-
第二个调用是否在第一个调用之前运行,即。你看到 null,然后是正确的列表吗?
-
这是真的@GrahamD,输出是这样的:
flutter: [] Reloaded 13 of 568 libraries in 369ms. flutter: [list_item] -
实时数据库和 Cloud Firestore 是两个完全独立的数据库。请在以后只标记您要询问的数据库。
标签: firebase flutter google-cloud-firestore