Socket.io:如何正确处理函数参数?
我想如下设置套接字参数(nick)
socket.on('something', function(who){ socket.nick = who; //something });
下面的代码返回undefined到客户端,这是这里的问题。
但是当我这样做…
socket.on('something', function(who){ socket.nick = 'who'; //something });
这返回给所有人的“谁”。
有没有办法让上面的代码片段工作?
套接字不能传递JavaScript对象或任何不能简单串接的东西。 如果who
是{x: "monkey"}
一个对象,则可能需要使用who.x
来代替,它是一个string:
socket.nick = who.x;
您也可以将对象串化为JSON,然后在客户端parsing它:
socket.nickJson = JSON.stringify(who);
随着爆炸药的闪电快速援助问题得到解决。
代替…
socket.on('something', function(who){ socket.nick = who; //something });
它应该是
socket.on('something', function(who){ socket.nick = who.x; //something });