Javascript,您的“神奇”数据来自哪里?

时间:2014-12-13 05:51:07

标签: javascript json node.js sockets socket.io

来自Java编程语言,其中所有可以在方法中使用的信息必须是类的一部分,或者通过参数传递,我对JavaScript神奇地生成它非常重要的数据感到困惑。

在这种情况下,我正在使用Socket.IO并尝试在连接后调用login-method,现在我可以使用匿名函数,但我个人认为它们真的很难看。

这是我的代码:

socketIO.sockets.on('connection', function(socket) {
    console.log("Connection maid.");
    socket.on('login', login);
});

function login(json) {
    sqlConnection.query('select * FROM Accounts', function(err, rows, fields) {
       if(err) throw err;

        for(var row in rows) {
            if(rows[row].Username == json.username) {
                console.log("Exists");
                socket.emit('login', {nuel: ''});
            }
        }
    });
}

正如您所看到的,只要套接字收到登录消息,就会调用login函数,并且json对象会神奇地传递给它。我不知道它来自何处或是什么产生它,我也不知道如何将额外的参数传递给该方法,因为它会中断/覆盖magic数据。

我遇到的错误是当前上下文中不存在 socket ,因为它没有传递给login函数,但是当我尝试传递它时,保存的对象因为json完全根除了存在......以及这里的数据来自何处。

我根本不理解这一点,如何在不完全破坏所有内容的情况下传递此信息来调用该方法。

0 个答案:

没有答案