Future::getCompletedFileAndLine

(PHP 8.6+, True Async 1.0)

public function getCompletedFileAndLine(): array

Gibt Informationen über den Ort zurück, an dem das Future abgeschlossen wurde (wo complete() oder fail() auf dem zugehörigen FutureState aufgerufen wurde). Enthält den Dateinamen und die Zeilennummer. Nützlich zum Debuggen und Nachverfolgen asynchroner Ketten.

Rückgabewert

array — ein Array mit den Schlüsseln file (Zeichenkette, Dateipfad) und line (Ganzzahl, Zeilennummer). Wenn das Future noch nicht abgeschlossen ist, wird ein leeres Array zurückgegeben.

Beispiele

Beispiel #1 Den Abschlussort abrufen

<?php

use Async\Future;
use Async\FutureState;

$state = new FutureState();
$future = new Future($state);

$state->complete(42); // Zeile 8

$location = $future->getCompletedFileAndLine();
echo "Datei: " . $location['file'] . "\n";
echo "Zeile: " . $location['line'] . "\n";
// Datei: /app/script.php
// Zeile: 8

Beispiel #2 Erstellungs- und Abschlussort vergleichen

<?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 "Erstellt bei: " . $future->getCreatedLocation() . "\n";
$completed = $future->getCompletedFileAndLine();
echo "Abgeschlossen bei: " . $completed['file'] . ":" . $completed['line'] . "\n";

Siehe auch