我正在构建一个聊天应用程序,对于每个客户端连接,我都需要使用 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? 正确答案可能符合您的需求
关于node.js - 如何在 socket.io 中获取多个套接字属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16559991/