我正在写一个简单的WebSocket
应用程序与socketio
。有2个插座事件可以在连接和消息上实现。第一个接收套接字作为参数(客户端),第二个接收客户端发送的数据。所以,我可以把它写这种方式使用插座变量上的消息事件:如何从更广泛的范围使用Javascript变量
WebSocketNoaListener.onClientConnect = function(socket){
var soc = socket;
socket.on("message", function(msg){
console.log("i can use message: "+msg);
console.log("and the socket: "+soc.id);
});
socket.on("disconnect", WebSocketNoaListener.onClientDisconnect);
}
但我要分开我的功能更好的可读性:
WebSocketNoaListener.onClientConnect = function(socket){
var soc = socket;
socket.on("message", WebSocketNoaListener.onClientMessage);
socket.on("disconnect", WebSocketNoaListener.onClientDisconnect);
}
WebSocketNoaListener.onClientMessage = function(){...
我会需要使用soc
变量在收到socket
的函数之外的范围内。那可能吗?
你是什么意思的“outerscope”在这里? – JaredPar
@JaredPar我冒昧地重新编写了“outerscope” – dlamblin