Flutter_功能

Flutter 定时器 Timer

2019-07-31  本文已影响0人  kass

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 实现秒表计时

上一篇 下一篇

猜你喜欢

热点阅读