有必要阅读收集,并收集。一个人说,你需要通过Future.wait分别阅读它们。但是我的代码抛出了一个错误。请帮助我需要做什么,这样我就可以上传多个集合到一个.dart文件?
class Checking extends StatefulWidget {
static const String id = "Checking";
@override
State<Checking> createState() => _CheckingState();
}
class _CheckingState extends State<Checking> {
Future<QuerySnapshot<Map<String, dynamic>>> getthosedocuments() async {
QuerySnapshot<Map<String, dynamic>> snapshot = await FirebaseFirestore.instance
.collection('testfz')
//.doc('oglavlenie')
//.collection('subcollection')
//.limit(1)
.get();
return snapshot;
}
Future<QuerySnapshot<Map<String, dynamic>>> getthosedocuments1() async {
QuerySnapshot<Map<String, dynamic>> snapshot = await FirebaseFirestore.instance
.collection('testfz')
.doc('id')
.collection('subcollection')
//.limit(1)
.get();
return snapshot;
}
void futures() async {
var futures = await Future.wait([getthosedocuments(), getthosedocuments1()]);
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: SafeArea(
child: FutureBuilder<QuerySnapshot>(
future: futures(),
builder: (context, snapshotsub) {
if (snapshotsub.connectionState == ConnectionState.waiting) {
return CircularProgressIndicator();
}
final docs = snapshotsub.data!.docs;
return ListView.builder(
shrinkWrap: true,
physics: ScrollPhysics(),
itemCount: snapshotsub.data?.size,
itemBuilder: (context, index) {
final doc = docs.elementAt(index);
我得到的错误:
此表达式的类型为“void”,因此无法使用其值。
1条答案
按热度按时间qjp7pelc1#
更换
与
那么在未来的构建器中,你应该期待List而不是QuerySnapshot。