Future::__construct
(PHP 8.6+, True Async 1.0)
public function __construct(FutureState $state)
Crea un nuevo Future vinculado a un objeto FutureState. FutureState gestiona el estado del Future y permite completarlo externamente con un resultado o error.
Parámetros
state — el objeto FutureState que gestiona el estado de este Future.
Ejemplos
Ejemplo #1 Crear un Future mediante FutureState
<?php
use Async\Future;
use Async\FutureState;
$state = new FutureState();
$future = new Future($state);
// Completar el Future desde otra corrutina
\Async\async(function() use ($state) {
$result = performComputation();
$state->complete($result);
});
// Esperar el resultado
$value = $future->await();
echo "Recibido: $value\n";
Ejemplo #2 Crear un Future con resultado diferido
<?php
use Async\Future;
use Async\FutureState;
function createDeferredFuture(): array {
$state = new FutureState();
$future = new Future($state);
return [$future, $state];
}
[$future, $state] = createDeferredFuture();
// Una corrutina espera el resultado
\Async\async(function() use ($future) {
$result = $future->await();
echo "Resultado: $result\n";
});
// Otra corrutina proporciona el resultado
\Async\async(function() use ($state) {
\Async\delay(100);
$state->complete("Hecho!");
});
Ver también
- Future::completed — Crear un Future ya completado
- Future::failed — Crear un Future con un error