/** * 执行远程调用任务 * @param $uri * @param $method * @param array $parameters * @param callable $callback * @return $this|mixed */ public function call($uri, $method, array $parameters = array(), callable $callback = null) { if (!$this->_sync) { $rpc = new \Yar_Client($uri); if (!empty($this->_opt) && is_array($this->_opt)) { foreach ($this->_opt as $key => $value) { $rpc->setOpt($key, $value); } } $result = call_user_func_array(array($rpc, $method), $parameters); if (!empty($callback) && is_callable($callback)) { $result = call_user_func($callback, $result); } return $result; } \Yar_Concurrent_Client::call($uri, $method, $parameters, $callback); return $this; }