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

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

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

它运行正常.
当我需要获取所有客户端属性时,我还没有找到比这更好的方法:

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

我需要将所有“get”嵌套到异步获取数据;但如果我有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});
  });
});

我不知道它是否是最佳解决方案,但我见过很多这样的例子.

编辑:socket.io – getting more than one field for a socket?
正确答案可能符合您的需求

点赞