更新
我遇到了一个问题。当我在Flutter中使用计时器并在之后取消它时,但一旦触发了取消方法,什么也没有发生。
var counter = 0;
Timer.periodic(const Duration(milliseconds: 50), (timer) {
developer.log('Actual counter ' + counter.toString());
counter++;
if (counter == 5) {
developer.log('TIMER DONE');
timer.cancel();
}
});
developer.log('This comes afterwards');
预期产出:
Actual counter 0
Actual counter 1
Actual counter 2
Actual counter 3
Actual counter 4
TIMER DONE
This comes afterwards
输出:
Actual counter 0
Actual counter 1
Actual counter 2
Actual counter 3
Actual counter 4
TIMER DONE
通常我应该在控制台中看到一条消息“这是以后的”,但是似乎使用cancel时,complete方法将被取消。
先谢谢你了。
2条答案
按热度按时间pdsfdshx1#
更新:执行定时器结束操作。
您需要在if条件中添加逻辑来执行操作。
下面是一个微件示例
我在当前代码片段中看不到
counter
上的任何增量。这就是为什么counter
保持为0并且不满足取消计时器的条件。也许会是
3ks5zfa02#
下面是一个使用
Timer
的完整示例当您
startTimer()
时,输出如下