delay

(PHP 8.6+, True Async 1.0)

delay() — Unterbricht die Ausfuehrung der aktuellen Coroutine fuer die angegebene Anzahl von Millisekunden.

Beschreibung

delay(int $ms): void

Unterbricht die Coroutine und gibt die Kontrolle an den Scheduler ab. Nach $ms Millisekunden wird die Coroutine fortgesetzt. Andere Coroutinen werden waehrend der Wartezeit weiter ausgefuehrt.

Parameter

ms Wartezeit in Millisekunden. Bei 0 gibt die Coroutine einfach die Kontrolle an den Scheduler ab (aehnlich wie suspend(), aber mit Einreihung in die Warteschlange).

Rueckgabewerte

Kein Rueckgabewert.

Beispiele

Beispiel #1 Grundlegende Verwendung

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

spawn(function() {
    echo "Start\n";
    delay(1000); // 1 Sekunde warten
    echo "1 Sekunde vergangen\n";
});
?>

Beispiel #2 Periodische Ausfuehrung

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

spawn(function() {
    while (true) {
        echo "Status wird geprueft...\n";
        delay(5000); // Alle 5 Sekunden
    }
});
?>

Hinweise

Hinweis: delay() blockiert nicht den gesamten PHP-Prozess — nur die aktuelle Coroutine wird blockiert.

Hinweis: delay() startet den Scheduler automatisch, wenn er noch nicht gestartet wurde.

Siehe auch