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

问题描述 投票:0回答:1

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

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我不再从变量中获得任何信息。我得到空括号{ }。如何重用变量,以便在所有函数中使用登录信息?

javascript node.js socket.io
1个回答
1
投票

您需要将其分配给userInfo

let userInfo; 

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

socket.on('lobby-left', (userInfoParam) => {
    console.log(userInfo); // { } 
});
© www.soinside.com 2019 - 2024. All rights reserved.