Automattic\WooCommerce\Vendor\GraphQL\Executor\Promise\Adapter
AmpPromiseAdapter::then
Method of the class: AmpPromiseAdapter{}
No Hooks.
Returns
null. Nothing (null).
Usage
$AmpPromiseAdapter = new AmpPromiseAdapter(); $AmpPromiseAdapter->then( $promise, ?callable $onFulfilled, ?callable $onRejected ): Promise;
- $promise(Promise) (required)
- .
- ?callable $onFulfilled
- .
Default:null - ?callable $onRejected
- .
Default:null
AmpPromiseAdapter::then() AmpPromiseAdapter::then code WC 10.9.1
public function then(Promise $promise, ?callable $onFulfilled = null, ?callable $onRejected = null): Promise
{
$deferred = new Deferred();
$onResolve = static function (?\Throwable $reason, $value) use ($onFulfilled, $onRejected, $deferred): void {
if ($reason === null && $onFulfilled !== null) {
self::resolveWithCallable($deferred, $onFulfilled, $value);
} elseif ($reason === null) {
$deferred->resolve($value);
} elseif ($onRejected !== null) {
self::resolveWithCallable($deferred, $onRejected, $reason);
} else {
$deferred->fail($reason);
}
};
$ampPromise = $promise->adoptedPromise;
assert($ampPromise instanceof AmpPromise);
$ampPromise->onResolve($onResolve);
return new Promise($deferred->promise(), $this);
}