В 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.