我正在使用now.js羣組,並且想要監聽用戶何時離開羣組,因此如果羣組爲空,我可以執行一些整理。我發現,每次用戶進入一個組時,都會多次調用離開事件,即如果我加入一個組並關閉瀏覽器3次,第3次離開將被調用3次。nowjs羣組事件被稱爲多次
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
});
};
我是否在做範圍錯誤?
的問題絕對是您的組陣,你任何地方調用group.removeUser在你的代碼?如果沒有嘗試在nowjs斷開連接事件時觸發'group.removeUser(that.user.clientId)'! – drinchev 2012-04-22 12:14:33
我試過在回調函數裏面,但是removeUser觸發了離開事件,所以你會陷入循環。 – 2012-04-22 13:04:14
我的意思是斷開事件。例如:'nowjs.on('disconnect',function(){group.removeUser(this.user.clientId)});'。如果您沒有任何removeUser,那麼在原始代碼中導致組的離開事件的原因是什麼? – drinchev 2012-04-22 13:07:39