无法在socket.on之外获取数据

时间:2018-10-14 10:14:20

标签: socket.io

当我尝试从socket.on获取价值时,存在一个问题。即使将其推入数组也无法获得价值。我必须使用axios,但是有什么办法吗?

我的代码:

    `var array = new Array();

    socket.on("abc", function(data)
    {
         array.push(data); 
         console.log(JSON.stringify(array)); // work ok
    }

console.log(JSON.stringify(array)); // problem here -> empty value
`

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

没有问题。您正在创建一个数组,并在套接字上为'abc'事件设置一个回调函数,并将该数组记录到控制台。请注意,当套接字收到abc事件时,回调函数将在以后执行。您的数组包含首次执行回调后的数据。 您的代码将以这种方式执行:

    1: `var array = new Array();`
    2: set a callback function for abc event on your socket
    3: `console.log(JSON.stringify(array)); // array is empty`
    4: when abc event received on socket, function(data) will be run
    5: now array is not empty

我希望这可以帮助您