countdown function

dynamic countdown(
  1. dynamic time,
  2. dynamic callback
)

Implementation

countdown(time, callback) {
  if (time.isAfter(DateTime.now())) {
    GlobalConfig.timerCancel = Timer.periodic(const Duration(seconds: 1), (timer) {
      var difference = time.difference(DateTime.now());
      print('difference: $difference');
      if (time.isBefore(DateTime.now())) {
        callback?.call();
        print('取消定时器');
        //取消定时器,避免无限回调
        timer.cancel();
        timer = null as Timer;
      }
    });
  }
}