Future::__construct
(PHP 8.6+, True Async 1.0)
public function __construct(FutureState $state)
创建一个绑定到 FutureState 对象的新 Future。FutureState 管理 Future 的状态,并允许从外部以结果或错误完成它。
参数
state — 管理此 Future 状态的 FutureState 对象。
示例
示例 #1 通过 FutureState 创建 Future
<?php
use Async\Future;
use Async\FutureState;
$state = new FutureState();
$future = new Future($state);
// Complete the Future from another coroutine
\Async\async(function() use ($state) {
$result = performComputation();
$state->complete($result);
});
// Await the result
$value = $future->await();
echo "Received: $value\n";
示例 #2 创建延迟结果的 Future
<?php
use Async\Future;
use Async\FutureState;
function createDeferredFuture(): array {
$state = new FutureState();
$future = new Future($state);
return [$future, $state];
}
[$future, $state] = createDeferredFuture();
// One coroutine awaits the result
\Async\async(function() use ($future) {
$result = $future->await();
echo "Result: $result\n";
});
// Another coroutine provides the result
\Async\async(function() use ($state) {
\Async\delay(100);
$state->complete("Done!");
});
参见
- Future::completed — 创建一个已完成的 Future
- Future::failed — 创建一个带错误的 Future