race()
/**
* @throws Throwable
* @param array<int, Async|Promise|callable> $promises
* @phpstan-param array<int, Async|Promise|callable> $promises
*/
public static function race(array $promises): Promise;
The Promise::race()
static method takes an iterable of promises as input and returns a single Promise. This returned promise settles with the eventual state of the first promise that settles.
Example:
function testPromise1() : Promise {
return new Promise(function ($resolve, $reject) {
$resolve("A");
});
}
function testPromise2() : Promise {
return new Promise(function ($resolve, $reject) {
$resolve("B");
});
}
Promise::race([
testPromise1(),
testPromise2()
])->then(fn($result) => var_dump($promise));
Output:
A
Last updated