首页 > 解决方案 > 如何取消 Future.delayed?

问题描述

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

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

  checkAnswer("");
  jumpToNextQuestion();

});

标签: dartflutter

解决方案


使用Timer.

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

推荐阅读