событие выхода из группы nowjs вызывается несколько раз - PullRequest
1 голос
/ 30 марта 2012

Я использую группы now.js и хочу слушать, когда пользователь покидает группу, чтобы я мог провести некоторую уборку, если группа пуста.Я обнаружил, что событие выхода вызывается несколько раз для каждого пользователя, находящегося в группе, т.е. если я присоединяюсь к группе и закрываю свой браузер 3 раза, то в третий раз отпуск будет вызываться 3 раза.

chatserver.prototype.joinGroup = function(groupId) {
   //user joins group
   var group = this.nowjs.getGroup(doc_id);
   group.addUser(that.user.clientId);

   //want to know when a user leaves a group
   group.on('leave', function() {
       console.log("user left group:"+groupId)
       //do group clean up
   });
};

Я что-то не так делаю со сферой?

1 Ответ

0 голосов
/ 22 апреля 2012

Вы должны удалить каждого пользователя из группы, к которой он был подключен, при отключении.

Что-то вроде:

nowjs.on('disconnect', function() { 
        var that = this;
        this.getGroups( function(groups) {
             for ( i=0 ; i < groups.length; i++ ) {
                 nowjs.getGroup(groups[i]).removeUser(that.user.clientId);
             }
        }
}
...