如何取消 Future.delayed?

dja*_*ler 24 dart flutter

如何取消/停止 Future.delayed?我读了另一个问题:如何取消 Future.delayed 函数调用,有人回答了这个可能的解决方案:https : //dart.academy/how_cancel_future/,但我不知道如何在我的代码中使用它,我不知道没有像示例那样的数据列表,我只是不希望在某些情况下执行 Future.delayed 中的代码。

await Future.delayed(Duration(seconds: myDuration)).then((_){

  checkAnswer("");
  jumpToNextQuestion();

});
Run Code Online (Sandbox Code Playgroud)

Ric*_*eap 39

使用一个Timer.

  Timer t = Timer(Duration(seconds: myDuration), () {
    checkAnswer('');
    jumpToNextQuestion();
  });
  // and later, before the timer goes off...
  t.cancel();
Run Code Online (Sandbox Code Playgroud)

  • 这个计时器能在应用程序被杀死并重新启动后继续存在吗?如何才能保证在应用程序被终止并重新启动时触发计时器? (2认同)
  • @YuShen 对于持久计时器,请使用[警报管理器](https://pub.dev/packages/android_alarm_manager)中的警报,尽管它仅适用于Android。 (2认同)