如何退出/终止正在进行的未来?

时间:2019-05-15 14:45:49

标签: dart flutter

我有一个在initState()中调用的Future,它发出一个http请求并将数据保存在Model类中。

首先需要调用它,因为还有其他流在等待它获取数据,以便它们可以自己重建。

但是问题是如果我在几秒钟后推送并快速弹出路由,我仍然可以看到我写给它的Future打印响应日志,该日志将在完成时执行。这意味着该过程在后台进行了吗?

如何构造项目,以便在弹出路线时强制终止“未来”请求?

@override
void initState() {
  // TODO: implement initState
  super.initState();
  wrapperMovieBloC();
}

void wrapperMovieBloC() async {
  //wait till get data is complete
  await movieBloc.getContentDetails();
  //now we have data such as rating,genres
  //I can invoke correspedoning methods which will rebuild themselves
  movieBloc.buildRatings();
  movieBloc.getGenreList();
}

  @override
  void dispose() {
    // TODO: implement dispose
    super.dispose();
    movieBloc.dispose();
  }

我不是在尝试遵循Bloc模式的主要理论,而是在任何基于社区的Bloc提供程序包中使用BloC模式。

0 个答案:

没有答案