【发布时间】:2021-02-09 07:08:25
【问题描述】:
我需要一个计时器实例来在我的应用程序上运行,以便我可以在需要时取消并重新初始化它。但是,调用.cancel() 操作后,计时器不会取消。它只有在我从默认构造函数中调用它时才有效,但我想要一个可以随时取消的全局计时器;
Timer timer;
timer = Timer.periodic(Duration(seconds: 10), (Timer t) async {
//cancelling timer only works here e.g (t.cancel)
print("loop operation");
});
timer.cancel(); // calling this method outside the constructor don't work.
【问题讨论】:
-
到目前为止,当人们声称
Timer取消无效时,我看到的最常见错误是他们不小心创建了多个Timer对象并破坏了先前的引用。请发布一个可重现的示例并验证您没有泄漏Timers。 -
@jamesdlin 那是我的情况兄弟。现在修好了。谢谢