0
這是直接從專業Node.js書。我瞭解代碼的邏輯,但我不明白「oldroom」在哪裏出現!第二行對我來說非常混亂。在這裏,我們希望將套接字與房間相關聯。爲什麼我們在做socket.get('room',.....)時,套接字尚未加入到第二行的房間中。我們可以省略第2和第3行嗎?專業Node.js代碼中的疑問
socket.on('join', function(room) {
socket.get('room', function(err, oldRoom) {
if (err) { throw err; }
socket.set('room', room, function(err) {
if (err) { throw err; }
socket.join(room);
if (oldRoom) {
socket.leave(oldRoom);
}
socket.get('username', function(err, username) {
if (! username) {
username = socket.id;
}
});
socket.emit('serverMessage', 'You joined room ' + room);
socket.get('username', function(err, username) {
if (! username) {
username = socket.id;
}
socket.broadcast.to(room).emit('serverMessage', 'User ' +
username + ' joined this room');
});
});
});
});