我有一个通过按钮OnPressed调用的计时器:startTimeOut(60)。
startTimeout(mins) async {
await subscription.resume();
print("susbscription started");
return new Timer(Duration(minutes: mins), handleTimeout);
}
void handleTimeout() async {
await subscription.cancel().then((_) {
print("susbscription canceled");
});
但是用户可以通过调用startTimeOut(0)中止订阅流。在这种情况下,将打印“取消取消预订”,但第一个计时器呼叫仍处于活动状态,因此订阅将持续进行直到60分钟结束。然后再次打印“取消取消预订”。
我该如何覆盖/取消对Timer的首次调用?