javascript - 在套接字 io 函数中重用变量

标签 javascript node.js socket.io

所以现在我在用户提交登录表单时存储信息。

io.on('connection', (socket) => {

let userInfo; 

    socket.on('login', (data) => {
        userInfo = data;
        console.log(userInfo); // {username: 'testusername'}
    });

    socket.on('lobby-left', (userInfo) => {
        console.log(userInfo); // { } 
    });

问题是在lobby-left中我不再从变量中获取任何信息。我得到空括号 { }。如何重用该变量以便可以在所有函数中使用登录信息?

最佳答案

您需要将其分配给 userInfo

let userInfo; 

socket.on('login', (data) => {
    userInfo = data;
    console.log(userInfo); // {username: 'testusername'}
});

socket.on('lobby-left', (userInfoParam) => {
    console.log(userInfo); // { } 
});

关于javascript - 在套接字 io 函数中重用变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54205554/

相关文章:

javascript - notepad++ 与 Node 使用套接字错误

python - node.js socket.io-client + python socketio

c# - 如何使用客户端语言 (JavaScript) 在 SharePoint 中编写/修改 xml 文件

javascript - 使用node.js并行操作数组的元素?

angular - Angular 中的单元测试 socket.io

node.js - 使用 Selenium 和 NodeJS 从 onclick 按钮下载文件

node.js - Socket.IO 与 HapiJS 的连接

javascript - 将 img 放入 div 容器中

php - window.location (JS) vs header() (PHP) 用于重定向

javascript - 按键组合json数组,javascript