gpt4 book ai didi

node.js - 通过 Socket.io 发出 Backbone.js 模型

转载 作者:太空宇宙 更新时间:2023-11-03 23:46:37 26 4
gpt4 key购买 nike

基本问题
我试图通过 socket.emit() 发送一个对象,但该对象未完全发送。我可能只是误解了如何执行此操作,但这是示例:

console.log(object)

结果

{ length: 8,
models:
[ { attributes: [Object],
_escapedAttributes: {},
cid: 'c1',
changed: {},
_silent: {},
_pending: {},
_previousAttributes: [Object],
lots: [Object],
_changing: false,
collection: [Circular],
_callbacks: [Object] },
... ETC

同时

socket.emit(e,object);

结果:

{"name":"read:AllAuctions","args":
[[{"auctionId":"298"},{"auctionId":"381"},{"auctionId":"385"},
{"auctionId":"393"},{"auctionId":"394"},{"auctionId":"395"},
{"auctionId":"402"},{"auctionId":"800"}]]}

它以后一种格式到达前端。

更多细节
我创建了一个服务器,尝试使用 socket.io 更新客户端主干模型。其中一些使用此处指定的想法:

http://developer.teradata.com/blog/jasonstrimpel/2011/11/backbone-js-and-socket-io

不同之处在于我在后端创建了 Backbone 模型。我的逻辑是共享基本模型文件,并让后端处理与持久层的通信并保持“真实”数据源的优化,然后响应请求以获取这些模型/集合以及自动推送更新。

一切似乎都正常,除了我应该将模型传输到前端。我是否需要扩展/覆盖 toJSON 或其他实际将其转换为传输的方法?如果是这样,我该怎么做?您能给我的任何帮助将不胜感激!

最佳答案

我认为您应该只发送数据并在客户端重新创建对象。

因此您可以尝试使用 Backbone Collection 的 toJSON

socket.emit(e, object.toJSON());

关于node.js - 通过 Socket.io 发出 Backbone.js 模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10130933/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com