throwable = $throwable; } public function await() { throw $this->throwable; } public function map(Closure $closure): FutureInterface { return $this; } public function catch(Closure $closure): FutureInterface { $c = $closure; unset($closure); try { return new CompletedFuture($c($this->throwable)); } catch (Throwable $e) { return new ErrorFuture($e); } } }