В Dart класс Timer
предоставляет удобный способ выполнения кода по истечении заданного времени или через регулярные промежутки времени. В этой статье блога будут рассмотрены различные методы, доступные в Dart для задержки выполнения кода с помощью таймеров, а также приведены примеры кода.
Метод
Future.delayed
:
МетодFuture.delayed
позволяет отложить выполнение фрагмента кода, задав длительность. Вот пример:
void main() {
print('Before delay');
Future.delayed(Duration(seconds: 2), () {
print('After delay');
});
print('End of main');
}
Выход:
Before delay
End of main
After delay
Класс
Timer
:
КлассTimer
предоставляет два метода:Timer.run
иTimer.periodic
.
a) Timer.run
выполняет функцию обратного вызова после указанной задержки. Вот пример:
void main() {
print('Before delay');
Timer.run(() {
print('After delay');
});
print('End of main');
}
Выход:
Before delay
End of main
After delay
b) Timer.periodic
выполняет функцию обратного вызова повторно через указанный интервал. Вот пример:
void main() {
var counter = 0;
Timer.periodic(Duration(seconds: 1), (timer) {
counter++;
print('Counter: $counter');
if (counter >= 5) {
timer.cancel();
}
});
}
Выход:
Counter: 1
Counter: 2
Counter: 3
Counter: 4
Counter: 5
Future.delayed
противTimer
:
Хотя можно использовать иFuture.delayed
, иTimer
. для отложенного выполнения есть некоторые различия.Future.delayed
возвращаетFuture
, которое можно ожидать, что позволяет обработать результат или связать дополнительные асинхронные операции. С другой стороны,Timer
обеспечивает более простой способ выполнения кода после задержки или через равные промежутки времени.
В этой статье мы рассмотрели различные методы отложенного выполнения кода в Dart с использованием таймеров. Мы рассмотрели метод Future.delayed
, а также методы Timer.run
и Timer.periodic
. Понимание этих методов таймера имеет решающее значение для эффективного управления асинхронными операциями в Dart.
Не забывайте использовать эти методы разумно, чтобы повысить скорость реагирования и эффективность ваших приложений Dart.