result = null; $this->query = $query; $this->notify(); $deferred = new Deferred; $this->getConnection()->execParamsAsync($query, $query->getParams(), $query->getTypes(), array($deferred->resolver(), "resolve")); return $deferred->then(function($result) { $this->result = $result; $this->notify(); })->then($callback); } }