/** * @param \Icicle\Awaitable\Awaitable $awaitable */ public function __construct(Awaitable $awaitable) { parent::__construct(function () use($awaitable) { return new Promise(function ($resolve, $reject) use($awaitable) { $awaitable->done($resolve, $reject); }, function () use($awaitable) { $awaitable->cancel(); }); }); }