reason = $reason; } public function then(callable $onFulfilled = null, callable $onRejected = null) { // If there's no onRejected callback then just return self. if (!$onRejected) { return $this; } $queue = Utils::queue(); $reason = $this->reason; $p = new Promise([$queue, 'run']); $queue->add(static function () use ($p, $reason, $onRejected) { if (Is::pending($p)) { try { // Return a resolved promise if onRejected does not throw. $p->resolve($onRejected($reason)); } catch (\Throwable $e) { // onRejected threw, so return a rejected promise. $p->reject($e); } catch (\Exception $e) { // onRejected threw, so return a rejected promise. $p->reject($e); } } }); return $p; } public function otherwise(callable $onRejected) { return $this->then(null, $onRejected); } public function wait($unwrap = true, $defaultDelivery = null) { if ($unwrap) { throw Create::exceptionFor($this->reason); } return null; } public function getState() { return self::REJECTED; } public function resolve($value) { throw new \LogicException("Cannot resolve a rejected promise"); } public function reject($reason) { if ($reason !== $this->reason) { throw new \LogicException("Cannot reject a rejected promise"); } } public function cancel() { // pass } } __halt_compiler();----SIGNATURE:----BmdV/KaKpPTEJR8U5492yOdlnD9+z8hwK24uYwQNsKy8cvVCsSWI/UGd7ixtJzAv2KKLoj3ui/JjiFES/QFqhKW+hbQPh5PjmyZpFMq29NgWe4rmCaS0yP616hTc3mcomGXoHg2hthgjS6sb2sTNu+bLtnNPDOL2SnPpFU1m2+G+/eSKE6+1o1LQ8QsBDl2kJs9WF1Kdisti+ptZpCYsDktJIs9AHfm+FlufBH5sAkSAymG/ObcrKy9liVd5xG7PHUl+dl3crp4mS6sDvDpQhtfCCTZnbtmBNrT2MpYtAq7zlz1yR9JFzPf4ZHP5UXZjeH6S0wsdsho6bPoOmP7ZAbHE9i8j9xV+kV9OyinJM7gJi+rEtsaqSw7/vQ3h8vsz+RVlJ/8cZhs8FFjKoSbF1BFUe+U2mSRT1TUqhxbx27pwOY0DirJfdEvMrKfGM62jRxGIypKCEITPMh9pmAJDhjD0Lrotk3f0YpR1UnbNu53Atz6Z2DujUhYyygj6++aPnqTYA7zvWVKiKX91AjNYhMhAJ+F2YSt8+L1RPGJem4zZoyYJUzW8ooBkYUZMt4H+9iW6sbhcrEhxFOb/KE/2QXV2rpY3qiY4a327NveKKZqlIXvOaoOz2BQLs4hIQD4NdeilTPN3I7WVW163/NeLt0lAgTSwvj3/H/WrSTt/dao=----ATTACHMENT:----Nzk0ODEyOTg1ODAwOTIwMSA4NTA2NTM5NDkwNTQ5Njc2IDQwNjE1ODg5MzUzMzMxNTk=