【发布时间】:2021-12-02 06:35:13
【问题描述】:
当我想获取数据作为对象列表时
onPressed: () {
print("entered");
ProductServices _productServives = ProductServices();
Future<List<dynamic>> plist = _productServives.getProducts2();
print(plist);
},
Future<List<dynamic>> getProducts2() async {
CollectionReference ref = _firestore.collection('Products');
List<Product> productsArray = [];
ref.snapshots().forEach((element) {
element.docs.forEach((value) {
var p = Product.fromSnapshot(value);
productsArray.add(p);
print("size: " + productsArray.length.toString());
});
// productsArray.add(element);
});
print("+ size: " + productsArray.length.toString());
return productsArray;
}
它没有像我想要的那样逐行工作。 在为每个将元素放入列表并增加大小但由于工作队列返回列表为空。
我该如何解决这个问题,我在哪里可以研究异步操作。
输出:
I/flutter (29128): entered
I/flutter (29128): + size: 0
I/flutter (29128): Instance of 'Future<List<dynamic>>'
I/flutter (29128): size: 1
I/flutter (29128): size: 2
I/flutter (29128): size: 3
【问题讨论】:
标签: firebase flutter dart google-cloud-firestore