self._client.getData(ZK_CONFIG.leader_znode, function watch (event) { // Someone else is already the leader if (event.type == zk.Event.NODE_DELETED) { self.emiter.emit(Events.LEADER_CHANGED); self.claimLeadership(); } }, function (error) { if (error && error.code == zk.Exception.NO_NODE) { // Leader spot available return self.claimLeadership(); } else if (error) { return self.emiter.emit(Events.UNEXPECTED_ZK_ERROR, error); } });