首页 > 解决方案 > Flutter Timer 调用函数

问题描述

我需要每 5 分钟调用一次函数,但据我所见,计时器等待 5 分钟,然后调用该函数。它不应该在设置计时器时调用一次,然后每 5 分钟调用一次吗?

const time = const Duration(seconds: 300);
Timer.periodic(time, (Timer t) => _getData());

标签: flutterdart

解决方案


你可以这样使用:

final int timerMaxSeconds = 1800;
  int currentSeconds = 0;
  
  startTimeout([int milliseconds]) {
    var duration = interval;
    Timer.periodic(duration, (timer) {
      setState(() {
        print(timer.tick);
        currentSeconds = timer.tick;
        if (timer.tick >= timerMaxSeconds)
          timer.cancel();
         // submitDataToFirebase();
      });
    });
  }

并像这样调用 startTimeout

startTimeout(300);

推荐阅读