flutter - onRefresh 回调返回 null
问题描述
我是RefreshIndicator
用来刷新互联网数据的,但是当我从顶部下拉时,刷新图标没有消失,也出现了错误:
════════ Exception caught by material library ══════════════════════════════════
The following assertion was thrown when calling onRefresh:
The onRefresh callback returned null.
The RefreshIndicator onRefresh callback must return a Future.
════════════════════════════════════════════════════════════════════════════════
这是我的代码,其中声明了获取数据的方法:
Future<void> getApiData() async {
return fetchWorldData();
}
Future<Map<String, dynamic>> fetchWorldData() async {
Response response = await get(Uri.parse(
'https://disease.sh/v3/covid-19/countries/${CurrentCountry.currentcountry}'));
return json.decode(response.body);
}
这是我调用该方法的代码:
onRefresh: () {
getApiData();
}
如果你能帮助我,我将不胜感激。
解决方案
它将返回 null 因为你没有放在await
这里所以它立即返回结果(不等待 API 获取实际数据)所以这样做
onRefresh: () async {
await getApiData();
}
推荐阅读
- shopify - Shopify - 将变量传递到 if 语句中?
- android - android error AAPT2 aapt2-4.1.2-6503028-windows 守护进程#6:守护进程启动失败
- python - 将数据框中的字符串转换为单独的列,然后将它们添加回主数据框
- reactjs - 一段时间后,我的 Firebase 数据消失了
- r - 如何为每个循环存储具有不同行长的循环?
- xmlhttprequest - Access-Control-Allow-Origin 和 Cordova 的问题
- linux - 在docker中处理python应用程序文件权限的正确方法是什么?
- r - Flextable - 根据行更改小数位数
- openshift - 在 Openshift 4.6.9 中安装计量操作员,蜂巢豆荚出现错误
- excel - 连接到电源查询的数据透视表未对数据透视表行中的值进行排序