我有一个在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模式。