Конструктор periodic
Конструктор periodic класса Timer создаёт
таймер, который периодически вызывает указанную функцию
через равные промежутки времени. В первый параметр мы
передаём длительность интервала, во второй - функцию
обратного вызова, которая будет выполняться при каждом
срабатывании таймера. Таймер работает до тех пор, пока
его не остановят методом cancel.
Синтаксис
Timer.periodic(Duration duration, void Function(Timer) callback)
Пример
Давайте создадим таймер, который каждую секунду выводит в консоль текущий счётчик, и остановим его после пятого срабатывания:
import 'dart:async';
void main()
{
int count = 0;
Timer timer = Timer.periodic(
Duration(seconds: 1),
(Timer t) {
count++;
print('Tick: $count');
if (count == 5) {
t.cancel();
print('Timer stopped');
}
},
);
}
Результат выполнения кода:
"Tick: 1"
"Tick: 2"
"Tick: 3"
"Tick: 4"
"Tick: 5"
"Timer stopped"
Пример
Давайте создадим периодический таймер с интервалом
в полсекунды и проверим его активность через
свойство isActive:
import 'dart:async';
void main()
{
Timer timer = Timer.periodic(
Duration(milliseconds: 500),
(Timer t) {
print('Tick');
},
);
print(timer.isActive);
timer.cancel();
print(timer.isActive);
}
Результат выполнения кода:
true
false