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";
}
См. также
- Coroutine::getException — Получить исключение
- Coroutine::isCompleted — Проверить завершение
- await() — Дождаться результата