javascript - 如何使用棘轮通过单个 websocket 发送请求发送对象数组?
问题描述
例如,目前我必须遍历每个对象并对对象参数进行字符串化,为数组中的每个对象发送单独的消息。这使得该过程非常缓慢,并导致用户之间出现一些同步问题。如何一次字符串化和发送我的所有对象并解析结果?
客户端是javascript,服务器使用棘轮用于php。
for (let i = circles.length - 1; i >= 0; i--) {
if (connected) {
websocket_server.send(
JSON.stringify({
'type': 'circleData',
'user_id': circles[i].user,
'i': i,
'x': circles[i].x,
'y': circles[i].y,
'r': circles[i].r,
'c': circles[i].c,
})
);
}
}
解决方案
没关系,我是个白痴。只需对对象数组进行字符串化。当它从另一端出来时,它将是一个对象数组,但它不再与类关联。因此,您需要使用对象数组数据在接收时重建对象,以便使用对象方法。除了重新创建对象之外,如果有人有更好的方法将数据与类关联,请告诉我。
websocket_server.send( JSON.stringify({
'type': 'circleData',
'obj_array': circles,
})
);
编辑:
这种重新分配类原型的解决方案应该可以工作:
推荐阅读
- mysql - 如何使用存储过程和条件获取数据库表结果?
- javascript - 如何在产品轮播中显示 4 列而不是当前的 5 列?
- javascript - 如何在移动 android/iOs(本机应用程序)中关闭 webview
- css - Angular2 mat-select匹配下拉菜单宽度
- laravel - Laravel:查询后通过路由传递数据以查看
- powerbi - PowerBI如何根据切片器选择计算动态度量?
- ruby-on-rails - angularJS中的<和@范围隔离有什么区别?
- linux - 用于将日志文件复制到单个压缩文件中的 shell 脚本
- kubernetes - Airflow 无法运行 cli 命令
- c# - 如何获取使用c#登录我网站的客户端IP地址和设备名称