Coroutine::getResult
(PHP 8.6+, True Async 1.0)
php
public Coroutine::getResult(): mixedПовертає результат виконання корутини. Якщо корутина ще не завершилася, повертає null.
Важливо: цей метод не очікує завершення корутини. Для очікування використовуйте await().
Значення, що повертається
mixed -- результат корутини або null, якщо корутина ще не завершилася.
Приклади
Приклад #1 Базове використання
php
<?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
<?php
use function Async\spawn;
use function Async\suspend;
$coroutine = spawn(fn() => 42);
suspend(); // дозволити корутині завершитися
if ($coroutine->isCompleted()) {
echo "Result: " . $coroutine->getResult() . "\n";
}Дивіться також
- Coroutine::getException -- Отримати виняток
- Coroutine::isCompleted -- Перевірка завершення
- await() -- Очікувати результат