我有这样的东西:
io.sockets.on('connection', function(player) {
var currentRoom;
currentRoom='lobby';
player.join(currentRoom);
player.broadcast.to(currentRoom).emit('newPlayer');
require('./test').test(player);
player.on('changeroom',function(room) {
player.leave(currentRoom);
player.join(room);
currentRoom = room;
});
});
. js:
exports.test = function(player) {
player.on('message',function(msg) {
player.broadcast.to('lobby').emit('message',msg);
});
}
我想在test.js中将'lobby'更改为currentRoom值。我该怎么做呢?
您可以将其作为参数传递:
exports.test = function(player, currentRoom) {
player.on('message',function(msg) {
player.broadcast.to(currentRoom).emit('message',msg);
});
}
它工作由于javascript闭包
也可以放在exports.currentRoom