Automattic\WooCommerce\Vendor\GraphQL\Executor\Promise\Adapter
AmpFutureAdapter::all
Method of the class: AmpFutureAdapter{}
No Hooks.
Returns
null. Nothing (null).
Usage
$AmpFutureAdapter = new AmpFutureAdapter(); $AmpFutureAdapter->all( $promisesOrValues ): Promise;
- $promisesOrValues(iterable) (required)
- .
AmpFutureAdapter::all() AmpFutureAdapter::all code WC 10.9.1
public function all(iterable $promisesOrValues): Promise
{
$items = is_array($promisesOrValues)
? $promisesOrValues
: iterator_to_array($promisesOrValues);
/** @var array<Future<mixed>> $futures */
$futures = [];
foreach ($items as $key => $item) {
if ($item instanceof Promise) {
$item = $item->adoptedPromise;
}
if ($item instanceof Future) {
$futures[$key] = $item;
}
}
$combined = async(static function () use ($items, $futures): array {
if ($futures === []) {
return $items;
}
$resolved = await($futures);
return array_replace($items, $resolved);
});
return new Promise($combined, $this);
}