startCountDown method
void
startCountDown()
启动倒计时Timer.
Implementation
void startCountDown() {
if (_isActive || _interval <= 0 || _totalTime <= 0) return;
_isActive = true;
Duration duration = Duration(milliseconds: _interval);
_doCallback(_totalTime);
_mTimer = Timer.periodic(duration, (Timer timer) {
int time = _totalTime - _interval;
_totalTime = time;
if (time >= _interval) {
_doCallback(time);
} else if (time == 0) {
_doCallback(time);
cancel();
} else {
timer.cancel();
Future.delayed(Duration(milliseconds: time), () {
_totalTime = 0;
_doCallback(0);
cancel();
});
}
});
}