首页 > 解决方案 > 如何取消在函数中启动的定时器?

问题描述

我的应用程序上有一个定期计时器。创建后,我需要取消它。

但我找不到办法做到这一点。

这个解决方案(如何停止计时器颤动?)对我不起作用。

如果我命名一个计时器——我在应用程序启动时立即创建它,但我需要稍后按一个按钮来创建它——这就是我使用 void 函数来创建它的原因。一旦我在 void 函数中创建它 - 我无法从代码中的其他任何地方访问它,因为它只存在于我的 void 函数中。所以没有办法调用 timer.cancel();

请帮忙。

void startTimer(controller) {
    Timer timer = Timer.periodic(
      timerLogic.timerDuration,
      (timer) {
        timerLogic.timerFunction;
        controller.reset();
        controller.forward();
        notifyListeners();
      },
    );
  }

timer.cancel(); //doesn't work

标签: fluttertimer

解决方案


推荐阅读