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 "Start\n";
delay(1000); // Чекати 1 секунду
echo "1 second passed\n";
});
?>
Приклад #2 Періодичне виконання
<?php
use function Async\spawn;
use function Async\delay;
spawn(function() {
while (true) {
echo "Checking status...\n";
delay(5000); // Кожні 5 секунд
}
});
?>
Примітки
Примітка:
delay()не блокує весь процес PHP — блокується лише поточна корутина.
Примітка:
delay()автоматично запускає планувальник, якщо він ще не запущений.