Kraken\Promise\Deferred::getPromise PHP Method

getPromise() public method

public getPromise ( )
    public function getPromise()
    {
        if (null === $this->promise) {
            $this->promise = new Promise(function ($resolve, $reject, $cancel) {
                $this->resolveCallback = $resolve;
                $this->rejectCallback = $reject;
                $this->cancelCallback = $cancel;
            }, $this->canceller);
        }
        return $this->promise;
    }

Usage Example

Example #1
0
 /**
  *
  */
 public function testPromise_SupportsVeryDeepNesting()
 {
     ini_set('xdebug.max_nesting_level', 8192);
     $deferreds = [];
     for ($i = 0; $i < 10; $i++) {
         $deferreds[] = $d = new Deferred();
         $p = $d->getPromise();
         $last = $p;
         for ($j = 0; $j < 500; $j++) {
             $last = $last->then(function ($result) {
                 return $result;
             });
         }
     }
     $p = null;
     foreach ($deferreds as $d) {
         if ($p) {
             $d->resolve($p);
         }
         $p = $d->getPromise();
     }
     $deferreds[0]->resolve(true);
     $mock = $this->createCallableMock();
     $mock->expects($this->once())->method('__invoke')->with($this->identicalTo(true));
     $deferreds[0]->getPromise()->then($mock);
 }
All Usage Examples Of Kraken\Promise\Deferred::getPromise