Метод cancel
Метод cancel класса Timer отменяет
запланированный таймер. После вызова этого метода
колбэк таймера больше не будет выполнен. Если таймер
уже сработал или был отменён ранее, вызов cancel
не производит никакого эффекта. Метод не принимает
параметров и не возвращает значения.
Синтаксис
timer.cancel()
Пример
Давайте создадим таймер, который должен сработать
через 5 секунд, и отменим его до срабатывания:
import 'dart:async';
void main()
{
Timer timer = Timer(Duration(seconds: 5), () {
print('timer fired');
});
timer.cancel();
print(timer.isActive);
}
Результат выполнения кода:
false
Пример
Давайте отменим периодический таймер после нескольких срабатываний:
import 'dart:async';
void main()
{
int count = 0;
Timer timer = Timer.periodic(Duration(seconds: 1), (Timer t) {
count++;
print('tick $count');
if (count == 3) {
t.cancel();
print('canceled');
}
});
}
Результат выполнения кода:
"tick 1"
"tick 2"
"tick 3"
"canceled"