首页 > 解决方案 > 应用启动时如何直接获取网络数据?

问题描述

我正在使用 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次方法,但它无法从互联网获取数据,所以我的问题是如何在应用程序启动时直接从网络获取数据?

标签: asynchronousnetworkingdartflutter

解决方案


推荐阅读