dart - 我如何取消 Future.delayed 函数调用
问题描述
我怎样才能取消 Future.delayed
我正在将 Future.delayed 用于某些任务,但是如果我想取消这个延迟的任务,那么他们的任何方法或任何其他要使用的东西也是如此。
Future.delayed(Duration(seconds: 10),(){
setState(() {
//some method calling
});
});
解决方案
声明一个布尔值怎么样
bool _executeFuture=true;
然后
Future.delayed(Duration(seconds: 10),(){
if(_executeFuture){
setState(() {
//some method calling
});
}
});
现在,每当您想取消 Future 时,只需使用
_executeFuture=false;
此外,您可以使用https://pub.dartlang.org/packages/async中的 CancelableOperation
推荐阅读
- c++ - 如何避免将不必要的静态库与 CMake 链接?
- sql - 提取键值对并组成自己的列
- flutter - Flutter - 如何本地化 setState()?
- wireshark - 从流量捕获中找到正确的信息
- android - 在警报对话框 Kotlin 中使用服装按钮而不是正面和负面按钮
- c++ - 图书馆链接问题?MinGW OpenCV 不输出任何东西
- angular - 如何在 Jasmine 单元测试中模拟位置重定向,Angular?
- android - 任务“:app:checkDebugAarMetadata”执行失败,配置错误“:app:debugRuntimeClasspath”
- google-apps-script - 有没有办法缓存 doPost 请求?
- c++ - 如何使用sort c ++从二进制文件中对结构进行排序