简短的回答,我没有注意您如何使用未来
从用户表获取productId
Future<List<documentSnapshot>> getProduceID() async{ var data = await Firestore.instance.collection('users').document(widget.userId).collection('Products').getdocuments(); var productId = data.documents; return productId; }然后使用.then()调用此方法,而不是尝试将返回的数据应用于变量,因为这不是将来的工作方式
var products; getProduceID().then((data){ for(int i = 0; i < s.length; i++) { products = Firestore.instance.collection('products') .document(data[i]['productID']) .snapshots(); if (products != null) { products.forEach((product) { print(product.data.values); }); } }});


