我正在寫一個簡單的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