Javascript使新对象可在所有范围内访问

时间:2016-08-20 23:48:15

标签: javascript node.js

我在node.js服务器上有一个登录脚本,所以当用户登录时,我为该用户创建一个新对象,例如:

// MOCK-UP: NOT ACTUAL CODE

db.query('QUERY', function(err, rows, fields){

        if(!err){

           var User = new _User(row[0].id, row[0].name, ...);
           // Continue on

        } else { throw err }

});

现在我该如何制作它,以便每当有人登录使其全局可访问时,我仍然会创建一个新的_User对象。我希望将所有当前用户信息存储在一个类中,并且能够在任何时间点轻松检索它并使用所有类方法。

编辑:我不知道是否只是在顶部某处初始化var Player;是一个好主意,因为它会被覆盖。是的,我需要一些建议:)

P.S。:登录脚本在套接字事件中,我不介意重新编写代码以适应调整!

P.P.S:我不想将信息存储在套接字内。

1 个答案:

答案 0 :(得分:1)

如果套接字表示与用户的连接,则只需向套接字对象本身添加socket._user属性即可。如果您希望在User对象上使用方法,则可以将原型添加到User构造函数中。