我在扑朔迷离中创建了一个计时器,一切正常。现在我无法弄清楚启动计时器后如何关闭计时器。
文档说您可以通过调用“ void cancel()”来取消它,但我不了解其实现。
我应该怎么称呼它?
这是正确的方法吗?
static const timeout = const Duration(seconds: 5);
static const ms = const Duration(milliseconds: 1);
startTimeout([int milliseconds]) {
var duration = milliseconds == null ? timeout : ms * milliseconds;
return new Timer(duration, handleTimeout);
}
void handleTimeout() { // callback function
Navigator.of(context).pushAndRemoveUntil(new MaterialPageRoute(
builder: (BuildContext context) => new ScorePage(quiz.score, quiz.length)),(Route route) => route == null);
return;
}
答案 0 :(得分:1)
只需保留时间参考,然后在不再需要时取消时间
var timer = startTimeout(100);
...
timer.cancel();