javascript - 在 Javascript 中通过 WebSocket 的 HashMap

标签 javascript node.js websocket hashmap

我在 nodejs 应用程序中有一个 hashmap (const HashMap = require('hashmap');),我通过这样的 websocket 发送给我的客户端: io.sockets.emit('state', myHashmap);

但是当我无法遍历客户端的值时。我无法使用从 websocket 获取的 json 数据构建 HashMap 。

有人可以帮我读取 HashMap 的 json 数据并在客户端创建一个新数据吗? 谢谢!

最佳答案

好吧,我现在知道您正在使用 HashMap 模块。你要么知道自己在做什么,并且有充分的理由使用它,要么你来自 Java,然后你最好使用 JS 对象,它非常快速和优化。您还可以使用原生 map https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map


其余部分是关于对象的,但是对于普通对象,您可能只需将它们发送给网络套接字,而无需字符串化(很可能套接字库将在服务器上对它们进行字符串化,并在客户端内部对其进行解析)。


您可能会尝试在 node.js 中将其字符串化并在客户端进行解析。 像这样

io.sockets.emit('state', JSON.stringify(myHashmap));

然后在客户端解析

const data = JSON.parse(payload)

我猜你是在谈论像 const myHashmap = {}; 这样的 js 对象?

关于javascript - 在 Javascript 中通过 WebSocket 的 HashMap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53916780/

相关文章:

node.js - socket.io 如何跨多个服务器发送消息?

python - 为什么 gevent-websocket 是同步的?

angular - 在 Angular 和 rxjs 中重新连接 websocket?

javascript - 所有资源解析后如何执行函数?

javascript - 文件更改时避免自动重启服务器 meteor

javascript - Node.js 中的事件循环是运行回调本身还是只是将回调传递给调用堆栈以便调用堆栈执行回调?

javascript - Redis MULTI 事务在 NodeJS 中的 EXEC 回调中随机返回 null

javascript - 是否可以使用表单 POST 提交时使用的设备类型?

javascript - 在 Angular js 中优化文本搜索

javascript - javascript函数中void this的目的是什么