Future::__construct
(PHP 8.6+, True Async 1.0)
public function __construct(FutureState $state)
Crea un nuovo Future associato a un oggetto FutureState. FutureState gestisce lo stato del Future e permette di completarlo esternamente con un risultato o un errore.
Parametri
state — l’oggetto FutureState che gestisce lo stato di questo Future.
Esempi
Esempio #1 Creazione di un Future tramite FutureState
<?php
use Async\Future;
use Async\FutureState;
$state = new FutureState();
$future = new Future($state);
// Completa il Future da un'altra coroutine
\Async\async(function() use ($state) {
$result = performComputation();
$state->complete($result);
});
// Attende il risultato
$value = $future->await();
echo "Received: $value\n";
Esempio #2 Creazione di un Future con risultato differito
<?php
use Async\Future;
use Async\FutureState;
function createDeferredFuture(): array {
$state = new FutureState();
$future = new Future($state);
return [$future, $state];
}
[$future, $state] = createDeferredFuture();
// Una coroutine attende il risultato
\Async\async(function() use ($future) {
$result = $future->await();
echo "Result: $result\n";
});
// Un'altra coroutine fornisce il risultato
\Async\async(function() use ($state) {
\Async\delay(100);
$state->complete("Done!");
});
Vedi anche
- Future::completed — Crea un Future gia’ completato
- Future::failed — Crea un Future con un errore