public function sendAsyncRequest(RequestInterface
$request): HttplugPromise
{ if (!
$promisePool =
$this->promisePool
) { throw new \
LogicException(sprintf('You cannot use "%s()" as the "guzzlehttp/promises" package is not installed. Try running "composer require guzzlehttp/promises".', __METHOD__
));
} try { $response =
$this->
sendPsr7Request($request, true
);
} catch (NetworkException
$e) { return new HttplugPromise(new RejectedPromise($e));
} $waitLoop =
$this->waitLoop;
$promise =
new GuzzlePromise(static function D
) use ($response,
$waitLoop) { $waitLoop->
wait($response);
},
static function D
) use ($response,
$promisePool) { $response->
cancel();
unset($promisePool[$response]);
});