我正在尝试使用以下代码将 io.sockets.clients() 的内容传递给客户端:
var room_users = io.sockets.clients(newroom);
socket.emit('update_room_users', room_users);
(newroom 是一个字符串变量)
但是我得到了错误:
Converting circular structure to JSON
在控制台中。
我不知道为什么会这样,因为根据 socket.io 网站,这应该是正确的代码?
最佳答案
您不能将包含循环引用的对象转换为 JSON。 循环引用是一个包含自身的对象。
循环引用示例:
var a = {};
var b = {a:a};
a.b = b;
room_users
当然包含循环引用,因为它包含引用其他客户端的套接字客户端......
抱歉我的英语不好。
关于javascript - io.sockets.clients() 给出错误 "Converting circular structure to JSON",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20199174/