Класс Timer
Таймер обратного отсчёта, который можно настроить на однократное или периодическое срабатывание.
Таймер отсчитывает указанную длительность до 0. Когда таймер достигает 0, он вызывает указанную функцию обратного вызова. Используйте периодический таймер, чтобы повторно отсчитывать один и тот же интервал.
Отрицательная длительность рассматривается как длительность 0. Если заранее известно, что длительность равна 0, используйте run.
Часто длительность является константой или вычисляется, как в следующем примере (с использованием оператора умножения класса Duration):
void main() {
scheduleTimeout(5 * 1000); // 5 seconds.
}
Timer scheduleTimeout([int milliseconds = 10000]) =>
Timer(Duration(milliseconds: milliseconds), handleTimeout);
void handleTimeout() { // callback function
// Do some work.
} Примечание: Если код Dart с использованием Timer компилируется в JavaScript, минимальный интервал, доступный в браузере, составляет 4 миллисекунды.
См. также:
- Stopwatch для измерения прошедшего времени.
Конструкторы
- Timer(Duration duration, void callback()) factory
- Создаёт новый таймер.
- Timer.periodic(Duration duration, void callback(Timer timer)) factory
- Создаёт новый повторяющийся таймер.
Свойства
- hashCode → int только для чтенияунаследовано
- Хеш-код этого объекта.
- isActive → bool только для чтения
- Возвращает значение, указывающее, активен ли ещё таймер.
- runtimeType → Type только для чтенияунаследовано
- Представление типа объекта во время выполнения.
- tick → int только для чтения
- Количество интервалов, прошедших до последнего события таймера.
Методы
- cancel(
) → void - Отменяет таймер.
- noSuchMethod(
Invocation invocation) → dynamic унаследовано - Вызывается при обращении к несуществующему методу или свойству.
- toString(
) → String унаследовано - Строковое представление этого объекта.
Операторы
- operator ==(
Object other) → bool унаследовано - Оператор равенства.
Статические методы
- run(
void callback()) → void - Асинхронно запускает указанный
callbackпри первой возможности.
© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.19.6/dart-async/Timer-class.html