Future::completed

(PHP 8.6+, True Async 1.0)

public static function completed(mixed $value = null): Future

Erstellt ein bereits abgeschlossenes Future mit dem angegebenen Wert. Dies ist eine Factory-Methode, die ein Future zurückgibt, das sofort ein Ergebnis enthält. Nützlich, um einen bereits bekannten Wert aus Funktionen zurückzugeben, die ein Future zurückgeben.

Parameter

value — der Wert, mit dem das Future abgeschlossen wird. Standardwert ist null.

Rückgabewert

Future — ein abgeschlossenes Future mit dem angegebenen Wert.

Beispiele

Beispiel #1 Ein Future mit einem fertigen Wert erstellen

<?php

use Async\Future;

$future = Future::completed(42);

var_dump($future->isCompleted()); // bool(true)
var_dump($future->await());       // int(42)

Beispiel #2 Verwendung in einer Funktion, die ein Future zurückgibt

<?php

use Async\Future;

function fetchData(string $key): Future {
    // Wenn Daten im Cache sind, sofort zurückgeben
    $cached = getFromCache($key);
    if ($cached !== null) {
        return Future::completed($cached);
    }

    // Andernfalls eine asynchrone Operation starten
    return \Async\async(function() use ($key) {
        return loadFromDatabase($key);
    });
}

$result = fetchData('user:1')->await();
echo "Ergebnis: $result\n";

Siehe auch