1

我正在创建一个聊天应用程序。nowjs用户可以创建一个聊天室,然后邀请用户到该房间。以下是用于执行此操作的代码:

everyone.now.addPeopleToChat = function(clientIds,roomName) {
    var length = clientIds.length;
    var group = nowjs.getGroup(roomName);
    for(var i=0;i<length;i++){
        group.addUser(clientIds[i]);
    }
    group.now.roomName = roomName;//User can be in one room only at any given time.Reference to the roomname to be used when user leaves chat
    group.now.loadChatWindow();//Load UI
}

到目前为止一切顺利。用户可以添加到聊天室,聊天也很好。

当用户在聊天室并关闭浏览器窗口时,我希望聊天室中的其他用户知道此人已离开聊天。我想使用断开事件来处理这种特殊情况。这是我用过的代码。

nowjs.on('disconnect', function () {
    console.log("User name:"+this.now.name);//comes fine
    console.log("Room name:"+this.now.roomName);//shows undefined.
    var group = nowjs.getGroup(this.now.roomName);//Intention is to get the room in which user was chatting.But it is not working because roomName is undefined.
    group.now.broadcast(this.now.name+" has left this room");
});

为什么在处理程序roomName中显示为未定义。disconnect当用户被添加到组时,我正在设置该变量。所以组中的每个用户都应该正确设置该变量。我在这里遗漏了什么吗?

4

0 回答 0