public function __construct($executor = null)
{
parent::__construct();
if (is_callable($executor)) {
$self = $this;
call_user_func($executor, function ($value) use($self) {
$self->resolve($value);
}, function ($reason) use($self) {
$self->reject($reason);
});
}
}