解析socket.io对象时如何使[object object]可读

时间:2017-11-12 05:24:59

标签: node.js socket.io

我想查看socket.io中的房间列表。

但是控制台只返回[object Object]。

我的代码就是这个。

io.on('connection', function (socket) {
   var rooms = io.sockets.adapter.rooms;
   console.log('rooms: '+rooms);
}

我的控制台日志是

rooms: [object Object]

有一些奇怪的事情。

我写代码。

for (var key in rooms){
    console.log('key: '+key);
}

然后,控制台写入连接客户端的socket.id.

,例如

key: iFUdbwRtB5oRMcf3AAAA

2 个答案:

答案 0 :(得分:1)

您可以简单地对房间进行字符串化:

append

答案 1 :(得分:0)

从此更改

console.log('rooms: '+rooms);

到此:

console.log('rooms: ', rooms);

在字符串操作中使用对象会导致.toString()被调用,并且对象的默认字符串转换为[object Object]。直接使用console.log()输出对象将显示对象的实际内容,而不仅仅是尝试通用字符串转换。