delay
(PHP 8.6+, True Async 1.0)
delay() — Приостанавливает выполнение текущей корутины на указанное количество миллисекунд.
Описание
delay(int $ms): void
Приостанавливает корутину, передавая управление планировщику. Через $ms миллисекунд корутина будет возобновлена.
Другие корутины продолжают выполняться во время ожидания.
Параметры
ms
Время ожидания в миллисекундах. Если 0 — корутина просто уступает управление планировщику (аналог suspend(), но с постановкой в очередь).
Возвращаемое значение
Нет возвращаемого значения.
Примеры
Пример #1 Базовое использование
<?php
use function Async\spawn;
use function Async\delay;
spawn(function() {
echo "Начало\n";
delay(1000); // Ждём 1 секунду
echo "Прошла 1 секунда\n";
});
?>
Пример #2 Периодическое выполнение
<?php
use function Async\spawn;
use function Async\delay;
spawn(function() {
while (true) {
echo "Проверка состояния...\n";
delay(5000); // Каждые 5 секунд
}
});
?>
Примечания
Примечание:
delay()не блокирует весь PHP-процесс — блокируется только текущая корутина.
Примечание:
delay()автоматически запускает планировщик, если он ещё не запущен.