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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在套接字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); // { } 
});

以上是关于在套接字io函数中重用变量的主要内容,如果未能解决你的问题,请参考以下文章

如何重用 socket.io 发射功能?试图将套接字发射功能附加到 SwiftUI 按钮(操作)?

在重新连接、socket.io、node.js 时重用套接字 id

条件片段和导航重用

Laravel:如何在控制器的几种方法中重用代码片段

如何从片段到活动而不会干扰片段的可重用性

在 GraphQL 中重用输入类型作为片段 [重复]