Coroutine::getAwaitingInfo
(PHP 8.6+, True Async 1.0)
php
public Coroutine::getAwaitingInfo(): array코루틴이 현재 대기 중인 대상에 대한 디버그 정보를 반환합니다. 멈춘 코루틴을 진단하는 데 유용합니다.
반환값
array -- 대기 정보가 담긴 배열입니다. 현재 빌드에서는 확장이 이 값을 채우지 않으므로 이 메서드는 항상 빈 배열을 반환합니다; 코루틴이 멈춘 위치를 확인하려면 getSuspendLocation()과 getTrace()를 사용하세요.
예제
예제 #1 대기 상태 진단
php
<?php
use function Async\spawn;
use function Async\suspend;
use function Async\get_coroutines;
spawn(function() {
Async\delay(5000);
});
suspend();
foreach (get_coroutines() as $coro) {
if ($coro->isSuspended()) {
$info = $coro->getAwaitingInfo();
echo "Coroutine #{$coro->getId()} is awaiting:\n";
print_r($info);
}
}같이 보기
- Coroutine::isSuspended -- 일시 중단 확인
- Coroutine::getTrace -- 호출 스택
- Coroutine::getSuspendLocation -- 일시 중단 위치