Flutter 定时器 Timer

A count-down timer that can be configured to fire once or repeatedly.

定时器支持单次或周期性执行,定时执行回调方法。

单次执行

const timeout = const Duration(seconds: 3);
const ms = const Duration(milliseconds: 1);

startTimeout([int milliseconds]) {
  var duration = milliseconds == null ? timeout : ms * milliseconds;
  return new Timer(duration, handleTimeout);
}
...
void handleTimeout() {  // callback function
  ...
}

周期性执行

确切的回调时间取决于基础计时器实现。 在周期时间* n 内将进行不超过n次回调,但两次连续回调之间的时间可以比持续时间更短和更长,取决于底层实现。

  Timer.periodic(Duration(milliseconds: 500), (timer) {
    if (timer.tick == 5) {
      timer.cancel();
      print("finish");
    }
    print("tick ${timer.tick}, timer isActive ${timer.isActive}");
  });

  print("start");

执行结果

start
tick 1, timer isActive true
tick 2, timer isActive true
tick 3, timer isActive true
tick 4, timer isActive true
finish
tick 5, timer isActive false

简单的异步,尽快执行

Timer.run((){
   print("run");
 });
print("start");

Timer 结合 Stopwatch 实现秒表计时

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容