public function done(callable $onFulfilled = null, callable $onRejected = null)
{
if (null !== $onFulfilled) {
try {
$onFulfilled($this->value);
} catch (Throwable $exception) {
Loop\queue(function () use($exception) {
throw $exception;
// Rethrow exception in uncatchable way.
});
}
}
}