Coroutine::getResult

(PHP 8.6+, True Async 1.0)

public Coroutine::getResult(): mixed

Возвращает результат выполнения корутины. Если корутина ещё не завершилась, возвращает null.

Важно: этот метод не ожидает завершения корутины. Для ожидания используйте await().

Возвращаемое значение

mixed — результат корутины или null, если корутина ещё не завершилась.

Примеры

Пример #1 Базовое использование

<?php

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

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

// До завершения
var_dump($coroutine->getResult()); // NULL

// Ждём завершения
await($coroutine);

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

Пример #2 Проверка с isCompleted()

<?php

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

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

suspend(); // даём корутине завершиться

if ($coroutine->isCompleted()) {
    echo "Результат: " . $coroutine->getResult() . "\n";
}

См. также