flutter路由跳转和函数执行问题?

假设我在A页面执行一个方法a.then返回数据,这个方法要10秒钟才能执行完返回数据,在这10秒钟内,我跳转到其他页面了,为啥还能接受到这个a.then方法返回的数据?如何在跳到其他页面后不接收之前函数返回的数据。

阅读 2.3k
2 个回答

用async包的CancelableOperation方法试试

https://pub.dev/packages/async

_needCancelFuture = CancelableOperation.fromFuture(
    _yourFuture(),
    onCancel: () {},
);

然后再在dispose里执行:
_needCancelFuture?.cancel();

其实就只是需要一个闭包来标记到底执不执行then的回调函数,你可以在dispose的时候标记页面已销毁,在then的第一行判断页面是否已经销毁,销毁了return即可

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题