current_coroutine

(PHP 8.6+, True Async 1.0)

current_coroutine() — Возвращает объект текущей выполняющейся корутины.

Описание

current_coroutine(): Async\Coroutine

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

Объект Async\Coroutine, представляющий текущую корутину.

Ошибки/Исключения

Async\AsyncException — если вызвано вне корутины.

Примеры

Пример #1 Получение ID корутины

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

spawn(function() {
    $coro = current_coroutine();
    echo "Корутина #" . $coro->getId() . "\n";
});
?>

Пример #2 Диагностика

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

spawn(function() {
    $coro = current_coroutine();

    echo "Запущена из: " . $coro->getSpawnLocation() . "\n";
    echo "Статус: " . ($coro->isRunning() ? 'работает' : 'приостановлена') . "\n";
});
?>

См. также