我正在尝试从api中获取数据并添加到一个列表中。但是此时,我看到我获取的数据却无法从函数中取出。我该怎么办?
下面是函数
List<dynamic> xxx = [];
@override
void initState() {
super.initState();
Future<List<dynamic>> fetchCompanies(List<dynamic> datas) async {
var response = await Dio().get(CompaniesPath().url);
if (response.statusCode == HttpStatus.ok) {
Map<String, dynamic> company = jsonDecode(response.data);
for (int i = 0; i < company['Data'].length; i++) {
datas.add(company['Data'][i]);
}
//print(datas); //=> I see datas here
} else {
throw Exception();
}
return datas;
}
print(fetchCompanies(xxx));
}
当我运行打印(fetchCompanies(xxx));我得到了"'Future'的示例"。我如何将'fetchCompanies'中的数据放到我的'xxx'列表中?'". How can i get datas inside 'fetchCompanies' to my 'xxx' list?
2条答案
按热度按时间qvk1mo1f1#
您正尝试打印List的未来示例,这就是为什么
未来的示例
这里需要注意的是,不能在
initState()
中调用wait,因此必须使用.then
方法试试这个:
lmyy7pcs2#
它应该已经可以正常工作了,但是你可能需要调用一个
setState
来刷新页面,试试这个: