startCountDown method

void startCountDown()

启动倒计时定时器

Implementation

void startCountDown() {
  if (isActive() || totalTime <= 0) return;
  _timer = Timer.periodic(Duration(milliseconds: duration), (timer) {
    var time = totalTime - duration;
    totalTime = time;
    if (time >= duration) {
      _callback(time);
    } else if (time == 0) {
      _callback(time);
      cancelTimer();
    } else {
      timer.cancel();
      Future.delayed(Duration(milliseconds: time), () {
        totalTime = 0;
        cancelTimer();
      });
    }
  });
}