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); // line 8
$location = $future->getCompletedFileAndLine();
echo "File: " . $location['file'] . "\n";
echo "Line: " . $location['line'] . "\n";
// File: /app/script.php
// Line: 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 "Created at: " . $future->getCreatedLocation() . "\n";
$completed = $future->getCompletedFileAndLine();
echo "Completed at: " . $completed['file'] . ":" . $completed['line'] . "\n";
Дивіться також
- Future::getCompletedLocation — Місце завершення у вигляді рядка
- Future::getCreatedFileAndLine — Місце створення Future
- Future::getAwaitingInfo — Інформація про очікуючих