var x ="apple";
socket.on('fruits',function(data){
var x = data; //var x is orange here
});
console.log(x); /// but var x is still apple here.....
socket.on('DatatoServer',function(
socket.in(x).emit('receivedData', data); ///I want this x to be orange
});
如何使var x成为全局变量?
还是有一种方法可以在上面的侦听器的第二个套接字中使用该橙色var x?
感谢您的帮助
答案 0 :(得分:0)
使用var
关键字时,实际上是在回调范围内声明了一个新变量x。
要在全局范围内引用x
,请删除var
并直接进行设置。
此外,它是回调的事实可能会更改全局范围,在回调中使用箭头功能可以解决此问题。
socket.on('fruits', (data) => {
x = data; //var x is orange here
});