Automattic\WooCommerce\Vendor\GraphQL\Executor\Promise\Adapter

SyncPromiseAdapter::waitpublicWC 1.0

Synchronously wait when promise completes.

Method of the class: SyncPromiseAdapter{}

No Hooks.

Returns

Mixed.

Usage

$SyncPromiseAdapter = new SyncPromiseAdapter();
$SyncPromiseAdapter->wait( $promise );
$promise(Promise) (required)
.

SyncPromiseAdapter::wait() code WC 10.9.4

public function wait(Promise $promise)
{
    $this->beforeWait($promise);

    $syncPromise = $promise->adoptedPromise;
    assert($syncPromise instanceof SyncPromise);

    while ($syncPromise->state === SyncPromise::PENDING) {
        SyncPromiseQueue::run();
        $this->onWait($promise);
    }

    if ($syncPromise->state === SyncPromise::FULFILLED) {
        return $syncPromise->result;
    }

    if ($syncPromise->state === SyncPromise::REJECTED) {
        throw $syncPromise->result;
    }

    throw new InvariantViolation('Could not resolve promise.');
}