Future::getCompletedFileAndLine
(PHP 8.6+, True Async 1.0)
public function getCompletedFileAndLine(): array
Возвращает информацию о месте, где Future был завершён (где вызвался complete() или fail() у связанного FutureState). Содержит имя файла и номер строки. Полезно для отладки и трассировки асинхронных цепочек.
Возвращаемое значение
array — массив с ключами file (строка, путь к файлу) и line (целое число, номер строки). Если Future ещё не завершён, возвращает пустой массив.
Примеры
Пример #1 Получение места завершения
<?php
use Async\Future;
use Async\FutureState;
$state = new FutureState();
$future = new Future($state);
$state->complete(42); // строка 8
$location = $future->getCompletedFileAndLine();
echo "Файл: " . $location['file'] . "\n";
echo "Строка: " . $location['line'] . "\n";
// Файл: /app/script.php
// Строка: 8
Пример #2 Сравнение мест создания и завершения
<?php
use Async\Future;
use Async\FutureState;
$state = new FutureState();
$future = new Future($state);
\Async\async(function() use ($state) {
\Async\delay(100);
$state->complete("result");
});
$future->await();
echo "Создан в: " . $future->getCreatedLocation() . "\n";
$completed = $future->getCompletedFileAndLine();
echo "Завершён в: " . $completed['file'] . ":" . $completed['line'] . "\n";
См. также
- Future::getCompletedLocation — Место завершения как строка
- Future::getCreatedFileAndLine — Место создания Future
- Future::getAwaitingInfo — Информация об ожидающих