Kraken\_Unit\Promise\PromiseFulfilledTest::createDeferred PHP Метод

createDeferred() публичный Метод

public createDeferred ( ) : Kraken\Promise\DeferredInterface
Результат Kraken\Promise\DeferredInterface
    public function createDeferred()
    {
        $promise = null;
        return new DeferredBridge(['getPromise' => function () use(&$promise) {
            if (!$promise) {
                throw new Exception(sprintf("[%s] must be resolved before obtaining the promise.", PromiseFulfilled::class));
            }
            return $promise;
        }, 'resolve' => function ($value = null) use(&$promise) {
            if (!$promise) {
                $promise = new PromiseFulfilled($value);
            }
        }, 'reject' => function () {
            throw new Exception(sprintf("You cannot call reject() for [%s].", PromiseFulfilled::class));
        }, 'cancel' => function () {
            throw new Exception(sprintf("You cannot call cancel() for [%s].", PromiseFulfilled::class));
        }]);
    }