如何在socket.io中获取多个套接字属性?

我正在构build一个聊天应用程序,对于每个客户端连接,我需要使用socket.io为每个客户端实例设置一些属性。 当我保存属性,我使用:

client.set('name', name, function () {}); client.set('email', email, function () {}); .... 

它运行良好。 当我需要获得所有客户端属性时,我还没有find比这更好的方法:

 client.get("name",function(err,name) { client.get("email",function(err,email) { ....... } } 

我需要嵌套所有的“获取”asynchronous获取数据; 但如果我有10个属性,我需要嵌套所有的10个项目? 必须有更好的方法来做到这一点,任何人都可以帮助我吗?

我不附加属性到套接字。

  io.sockets.on('connection', function(socket) { var username = "xx"; var email = "xx"; socket.on('doX', function(data) { socket.emit('ackX', {username: username, email: email}); }); }); 

我不知道这是不是最好的解决scheme,但我看到了很多这样的例子。

编辑: socket.io – 获取多个字段的套接字? 正确的答案可能适合您的需求