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 に答える