delay

(PHP 8.6+, True Async 1.0)

delay() — Suspende la ejecución de la corrutina actual durante el número especificado de milisegundos.

Descripción

delay(int $ms): void

Suspende la corrutina, cediendo el control al planificador. Después de $ms milisegundos, la corrutina se reanudará. Otras corrutinas continúan ejecutándose durante la espera.

Parámetros

ms Tiempo de espera en milisegundos. Si es 0, la corrutina simplemente cede el control al planificador (similar a suspend(), pero con encolamiento).

Valores de retorno

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Uso básico

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

spawn(function() {
    echo "Inicio\n";
    delay(1000); // Esperar 1 segundo
    echo "Pasó 1 segundo\n";
});
?>

Ejemplo #2 Ejecución periódica

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

spawn(function() {
    while (true) {
        echo "Verificando estado...\n";
        delay(5000); // Cada 5 segundos
    }
});
?>

Notas

Nota: delay() no bloquea todo el proceso PHP — solo la corrutina actual es bloqueada.

Nota: delay() inicia automáticamente el planificador si aún no se ha iniciado.

Ver también