flutter - 如何取消在函数中启动的定时器?
问题描述
我的应用程序上有一个定期计时器。创建后,我需要取消它。
但我找不到办法做到这一点。
这个解决方案(如何停止计时器颤动?)对我不起作用。
如果我命名一个计时器——我在应用程序启动时立即创建它,但我需要稍后按一个按钮来创建它——这就是我使用 void 函数来创建它的原因。一旦我在 void 函数中创建它 - 我无法从代码中的其他任何地方访问它,因为它只存在于我的 void 函数中。所以没有办法调用 timer.cancel();
请帮忙。
void startTimer(controller) {
Timer timer = Timer.periodic(
timerLogic.timerDuration,
(timer) {
timerLogic.timerFunction;
controller.reset();
controller.forward();
notifyListeners();
},
);
}
timer.cancel(); //doesn't work
解决方案
推荐阅读
- java - Open API Maven Plugin - 仅生成特定的 API 模型类
- dependency-injection - 使用 NUnit 时将自定义记录器注入 Specflow 框架
- sql - 使用新列名取消透视
- unity3d - 在 Unity HoloLens 应用程序中包含非标准资源
- node.js - 如何在 URL 缩短器 slug 中实现自定义端点
- android - Android - kotlin - 将命令传递给输出流并非每次都有效
- node.js - axios 没有从 openweathermap api 返回数据
- python - Slixmpp - 机器人无法连接到多用户房间
- angularjs - 发出 observable 结果图而不等待内部 observable
- angular - 无法绑定到“ngValue”,因为它不是“输入”的已知属性