【发布时间】:2020-10-08 23:42:40
【问题描述】:
尝试使用 async/await 在 initState 中获取数据每次都会给出空值。等待完成后如何设置值
void initState() {
convertFutureMakes().then((result) {
setState(() {
_makesList = result;
});
});
CarMake brand = _makesList.firstWhere((obj)=>obj.name == make);
super.initState();
}
_makesList 始终为 null,因此当我使用该列表时它会出错。这是 convertFutureMakes 方法
convertFutureMakes() async{
List<CarMake> makes = await getCarMakes();
return makes;
}
getCarMakes 从 Api 获取数据。但这需要一些时间,而且它不会等待。如何在使用前确保它有数据或以其他方式解决该问题
【问题讨论】:
-
convertfututmremakes 函数中的 make 返回值是什么?
-
@proversion 对象列表(CarMake)
-
如果您收到一个 Json 对象,您可以使用 Future 构建器并传递快照条件,例如 hasData/error 等。有选择地构建小部件或任何相关的东西。如果您需要帮助,请分享 Json 文件示例/模板
标签: flutter dart flutter-widget