public function await($promise = null, $unwrap = false)
    {
        if (null === $promise) {
            return null;
        }
        $wait = true;
        $resolvedValue = null;
        $exception = null;
        if (!static::isPromise($promise)) {
            throw new \InvalidArgumentException(sprintf('The "%s" method must be called with a Promise ("then" method).', __METHOD__));
        }
        $promise->then(function ($values) use (&$resolvedValue, &$wait) {
            $resolvedValue = $values;
            $wait = false;
        }, function ($reason) use (&$exception, &$wait) {
            $exception = $reason;
            $wait = false;
        });

        if ($exception instanceof \Exception) {
            if (!$unwrap) {
                return $exception;
            }
            throw $exception;
        }

        return $resolvedValue;
    }
public function await($promise = null, $unwrap = false)
    {
        if (null === $promise) {
            return null;
        }
        $wait = true;
        $resolvedValue = null;
        $exception = null;
        if (!static::isPromise($promise)) {
            throw new \InvalidArgumentException(sprintf('The "%s" method must be called with a Promise ("then" method).', __METHOD__));
        }
        $promise->then(function ($values) use (&$resolvedValue, &$wait) {
            $resolvedValue = $values;
            $wait = false;
        }, function ($reason) use (&$exception, &$wait) {
            $exception = $reason;
            $wait = false;
        });

        if ($exception instanceof \Exception) {
            if (!$unwrap) {
                return $exception;
            }
            throw $exception;
        }

        return $resolvedValue;
    }
public function await ( $ promise = null , $ unwrap = false ) { if ( null === $ promise ) { return null ; } $ wait = true ; $ resolvedValue = null ; $ exception = null ; if ( ! static :: isPromise ( $ promise ) ) { throw new \ InvalidArgumentException ( sprintf ( 'The "%s" method must be called with a Promise ("then" method).' , __METHOD__ ) ) ; } $ promise -> then ( function ( $ values ) use ( & $ resolvedValue , & $ wait ) { $ resolvedValue = $ values ; $ wait = false ; } , function ( $ reason ) use ( & $ exception , & $ wait ) { $ exception = $ reason ; $ wait = false ; } ) ; if ( $ exception instanceof \ Exception ) { if ( ! $ unwrap ) { return $ exception ; } throw $ exception ; } return $ resolvedValue ; }
{@inheritdoc}
{