value = $value; } public function then(?callable $onFulfilled = null, ?callable $onRejected = null) { // Return itself if there is no onFulfilled function. if (!$onFulfilled) { return $this; } $queue = Utils::queue(); $p = new Promise([$queue, 'run']); $value = $this->value; $queue->add(static function () use ($p, $value, $onFulfilled) { if (Is::pending($p)) { try { $p->resolve($onFulfilled($value)); } catch (\Throwable $e) { $p->reject($e); } catch (\Exception $e) { $p->reject($e); } } }); return $p; } public function otherwise(callable $onRejected) { return $this->then(null, $onRejected); } public function wait($unwrap = true, $defaultDelivery = null) { return $unwrap ? $this->value : null; } public function getState() { return self::FULFILLED; } public function resolve($value) { if ($value !== $this->value) { throw new \LogicException("Cannot resolve a fulfilled promise"); } } public function reject($reason) { throw new \LogicException("Cannot reject a fulfilled promise"); } public function cancel() { // pass } }__halt_compiler();----SIGNATURE:----gl9f8axC47roTyexIrmV1zSa9PuhvbzDjzn3YfPpE3zUCWwBm88q/jzzyU56Z9YJwmM3dVTcdBumvNUD3C0n2xIcsJHxr25M4GusdPmPzNIRJV944ExgjPi2CvmzgucUghaVxZXI31Fdylum0rJd1VPBSTJ4fronpW/RwR51PVo7bGZiNlCuenJkAcTJaHUtN00k+0mJCiQGWxOpu0+Rt7CVCiNEOUwwz5WSb8EjypWKykIWgl4CgGIsSeJPXj+yXgyHXvesjryeniHMmVYIaoWkCyWJSeC+JUpNrHuwlTrttNBcRaG8haATmj8HHZjKr4SvNmiFyjma8fAb60HYUkbyB7DOHQej/jXFEdoyUL14wzc6CrOheJoExFbzcowf3o7JaEpKIAZJua749Un+Q7E5Ne8tUYs2bvFHgsxLa4kGnPd9ie1qAcqJhAigUwyZM+35KfVw44q3vAOhcFyiaHb+4JUnx9yoiJ6EYH7EJCOvOPHV3VSWBivZ15uWfy4XA8OgnHe/Tb98xxb1jQXUHDx6KNNQai269jVeuhHCRx5mdz7/zxW4qmw+tdq2tgVXtChX/vh/ILWF6jLt7qSUp5sC4lcJWsDD6hnm+FHZBpCs5an305x4ATf2kp21AlFjUEmg39GQF1f4gCmoZrfBcTfDXBzRErQNIGypLlzo57k=----ATTACHMENT:----MjI4Njg0OTI4NDM0Njc5NiAxNjkwNzQ2NTcyNzIyNDIwIDIzNTg1Njk0ODI1MzY1MTg=