我遇到错误,我认为这与 initState() 函数有关,我正在使用 firebase 并从中加载数据,并且我需要确保
initializeData();
在 initializeSorting()
启动之前完成。我怎样才能做到这一点?尝试了异步等待但没有找到解决方案。
class _TasksListState extends State<TasksList> {
List<Task> tasks = [];
Set<int> usedIds = Set();
late String taskTitle;
late final String user;
late CollectionReference _collectionRef;
@override
void initState() {
super.initState();
user = widget.user;
taskTitle = widget.taskTitle;
_collectionRef = FirebaseFirestore.instance
.collection('Users')
.doc(user)
.collection('Tasks');
initializeData();
initializeSorting();
}
你可以通过这样做来实现这一目标,
void callMe() async{
await initializeData();
initializeSorting();
}
@override
void initState() {
callMe();
super.initState();
}
注意:您必须从
Future
函数返回 initializeData()
,因为您不能在 void 函数上使用 await
,