1

我正在使用 now.js 组,并且想监听用户何时离开组,以便在组为空时进行一些整理。我发现每次用户加入一个组时都会多次调用 leave 事件,即如果我加入一个组并在第三次关闭浏览器 3 次 leave 将被调用 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
   });
};

我在范围界定方面做错了吗?

4

1 回答 1

0

您应该在断开连接时从其已连接的组中删除每个用户。

就像是 :

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);
             }
        }
}
于 2012-04-22T13:20:09.550 回答