public function solve($ex, $params = [])
{
foreach ($this->requires as $require) {
if (!isset($params[$require])) {
return Promise::doReject(new IllegalCallException('Missing parameter [' . $require . '] for [' . get_class($this) . '].'));
}
}
return Promise::doResolve($this->solver($ex, $params));
}