我怎样才能取消 Future.delayed
我正在将 Future.delayed 用于某些任务,但是如果我想取消这个延迟的任务,那么他们的任何方法或任何其他东西都可以使用。
Future.delayed(Duration(seconds: 10),(){
setState(() {
//some method calling
});
});
Run Code Online (Sandbox Code Playgroud)
声明一个布尔值怎么样
bool _executeFuture=true;
Run Code Online (Sandbox Code Playgroud)
然后
Future.delayed(Duration(seconds: 10),(){
if(_executeFuture){
setState(() {
//some method calling
});
}
});
Run Code Online (Sandbox Code Playgroud)
现在每当你想取消 Future 时只需使用
_executeFuture=false;
Run Code Online (Sandbox Code Playgroud)
另外,您可以使用https://pub.dartlang.org/packages/async中的 CancelableOperation
| 归档时间: |
|
| 查看次数: |
2383 次 |
| 最近记录: |