code: public function create(&$resolve = null, &$reject = null, callable $canceller = null)
      {
          $queue = \GuzzleHttp\Promise\queue();
          $promise = new Promise([$queue, 'run'], $canceller);
  
          $reject = [$promise, 'reject'];
          $resolve = [$promise, 'resolve'];
  
          return $promise;
      }
docs: {@inheritdoc}
  
  @return Promise