delay

(PHP 8.6+, True Async 1.0)

delay() — Suspend l’exécution de la coroutine courante pendant le nombre de millisecondes spécifié.

Description

delay(int $ms): void

Suspend la coroutine en cédant le contrôle au planificateur. Après $ms millisecondes, la coroutine sera reprise. Les autres coroutines continuent de s’exécuter pendant l’attente.

Paramètres

ms Temps d’attente en millisecondes. Si 0, la coroutine cède simplement le contrôle au planificateur (similaire à suspend(), mais avec mise en file d’attente).

Valeurs de retour

Aucune valeur de retour.

Exemples

Exemple #1 Utilisation basique

<?php
use function Async\spawn;
use function Async\delay;

spawn(function() {
    echo "Start\n";
    delay(1000); // Attendre 1 seconde
    echo "1 second passed\n";
});
?>

Exemple #2 Exécution périodique

<?php
use function Async\spawn;
use function Async\delay;

spawn(function() {
    while (true) {
        echo "Checking status...\n";
        delay(5000); // Toutes les 5 secondes
    }
});
?>

Notes

Note : delay() ne bloque pas l’ensemble du processus PHP — seule la coroutine courante est bloquée.

Note : delay() démarre automatiquement le planificateur s’il n’a pas encore été démarré.

Voir aussi