gpt4 book ai didi

javascript - Node.js 服务器将数据发送到 Backbone 模型

转载 作者:太空宇宙 更新时间:2023-11-04 02:41:01 25 4
gpt4 key购买 nike

我正在尝试将socket.io与backbone.js集成,所以基本上我有一个 Node 服务器,它从数据库获取数据并将数据发送到主干客户端,客户端的模型应该以某种方式检索传入的数据,但我现在不知道如何将socket.io放入模型中,只是在尝试失败后感到困惑。任何专家请赐教我将不胜感激!

Node 服务器在 url/pics 中向客户端发送数据

app.get('/pics', function(req, res){
db.collection('pics', function(err, collection) {
collection.find().toArray(function(err, items) {
io.sockets.on('connection', function (socket) {
socket.emit('news', items);
});
});
});
});

Backbone 模型中的客户端应检索发出的数据(此模型适用于正常的 http 数据发送):​​

window.Pic = Backbone.Model.extend({
urlRoot: "/pics",
idAttribute: "_id",
initialize: function (){},
defaults: {
_id: null,
name: "",
date: "",
}
});

window.PicCollection = Backbone.Collection.extend({
model: Pic,
url: "/pics"
});

最佳答案

我必须承认在 Node + socket.io 上使用 Backbone 非常有趣。不过我还没有下定决心。首先,您是否考虑过使用 Websockets 插件 Backbone?有些人已经创造了这样的。

为了提供另一种方法,我认为您实际上没有太多选择。使用 socket.io 监听传入数据会导致类似的结果:

socket.on('model', function(attributes) {
// do something
});

因此,您必须有权访问一些可以手动更新模型的集合。

如果您希望在模型中真正使​​用 socket.io,一种更透明的方法是扩展模型以开始监听其创建时的某些自定义事件。我将链接一个 jsfiddle 来展示可以做什么。

编辑: here you go.
请注意,这充满了样板。我正在尝试找出一种方法来实现通用的套接字模型。如果找到的话我会更新。

关于javascript - Node.js 服务器将数据发送到 Backbone 模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15748917/

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