private function call(callable $callback)
{
try {
$callback(function ($value = null) {
$this->resolve($value);
}, function ($reason = null) {
$this->reject($reason);
});
} catch (\Throwable $e) {
$this->reject($e);
} catch (\Exception $e) {
$this->reject($e);
}
}