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

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

阅读 2.4k
2 个回答

用async包的CancelableOperation方法试试

https://pub.dev/packages/async

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

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

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

推荐问题