Coroutine::getResult

(PHP 8.6+, True Async 1.0)

public Coroutine::getResult(): mixed

Gibt das Ergebnis der Coroutine-Ausfuehrung zurueck. Wenn die Coroutine noch nicht abgeschlossen ist, wird null zurueckgegeben.

Wichtig: Diese Methode wartet nicht auf den Abschluss der Coroutine. Verwenden Sie await() zum Warten.

Rueckgabewert

mixed – das Coroutine-Ergebnis oder null, wenn die Coroutine noch nicht abgeschlossen ist.

Beispiele

Beispiel #1 Grundlegende Verwendung

<?php

use function Async\spawn;
use function Async\await;

$coroutine = spawn(function() {
    return "test result";
});

// Vor dem Abschluss
var_dump($coroutine->getResult()); // NULL

// Auf Abschluss warten
await($coroutine);

var_dump($coroutine->getResult()); // string(11) "test result"

Beispiel #2 Pruefung mit isCompleted()

<?php

use function Async\spawn;
use function Async\suspend;

$coroutine = spawn(fn() => 42);

suspend(); // Coroutine abschliessen lassen

if ($coroutine->isCompleted()) {
    echo "Ergebnis: " . $coroutine->getResult() . "\n";
}

Siehe auch