我现在尝试从socket.on();
中获取一个变量,但是因为它说它是一个未定义的变量而无法解决它。
以下是不起作用的代码位:
io.on('connection', function(socket){
socket.join("0");
socket.on("chatroom",function(chat){
socket.join(chat);
if(chat != "0"){
console.log("A user joined chatroom: " + chat);
}
var chatroom = chat;
});
});
var chatroom = chatroom;
如上所示,即使io.on功能中的值为2,得到的值也是未定义的。任何想法如何得出它?
请原谅我的noobish代码(node.js只有3天经验)
答案 0 :(得分:0)
我认为外部chatroom
变量被内部变量黯然失色。尝试:
var chatroom;
io.on('connection', function(socket) {
socket.join("0");
socket.on("chatroom", function(chat) {
socket.join(chat);
if(chat != "0") {
console.log("A user joined chatroom: " + chat);
}
chatroom = chat;
});
});
此外,您必须了解,因为代码是异步的,所以代码的最后一行将在io.on('connection', ...)