Я создаю приложение чата с 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
. Я устанавливаю эту переменную, когда пользователи добавляются в группу right.So каждый из пользователей в группе должен иметь эту переменную, установленную right.Am Я что-то здесь упустил?