asynchronous - 应用启动时如何直接获取网络数据?
问题描述
我正在使用 Bloc 模式实现 Youtube Clone App。现在,我正在获取视频的缩略图并通过该图像创建一个 ListView。
我想在应用程序启动时直接从互联网加载 3 张图像,但是当我在函数中编写该代码时它initState()
不起作用。
@override
void initState() {
super.initState();
_getVideo();
_getVideo();
_getVideo();
_scrollController.addListener((){
if(_scrollController.position.pixels == _scrollController.position.maxScrollExtent){
_getVideo();
}
});
}
@override
void dispose() {
_scrollController.dispose();
_youtubeBloc.dispose();
super.dispose();
}
Future<void> _getVideo() async {
VideoModel model = await _youtubeApi.getChannelVideo(index);
_youtubeBloc.addChannelData(model);
index++;
}
在initState()
功能上,我调用_getVideo()
了3次方法,但它无法从互联网获取数据,所以我的问题是如何在应用程序启动时直接从网络获取数据?
解决方案
推荐阅读
- javascript - send parameter post vueJS
- google-cloud-platform - 来自 S3 的 BigQuery Transfer 作业在第一步停留在待处理状态
- python - 实例变量在python中没有被修改
- android - 在 Android 10 上扫描未访问互联网的 WiFi 网络
- wear-os - 如何在磨损操作系统的背景中获得加速度计传感器的响应?
- c# - Hyper-V 迭代网络适配器 C# Powershell Get-VM
- javascript - Papa.parse 复杂的承诺
- sql - 用于识别和替换电子邮件的 REGEXP
- python-3.x - Spyder 在导入部分显示警告
- jsf - PrimeFaces Datatable如何正确刷新inputText和selectBooleanCheckbox里面