api – Backbone.sync – 使用ajax和Socket.IO/WebSockets的集合
我有一个Backbone应用程序,它有一个名为Links的集合.链接映射到/ api / links的REST API URI.
API将为用户提供最新的链接.但是,我有一个系统,当用户点击此API时,会向消息队列添加一个作业,请求更新数据库中的链接. 完成此工作后,我会将新链接推送到Backbone集合. 我该怎么做?在我看来,我有两个选择: >从Backbone集合中,长时间轮询API以获取新链接 带有REST API的WebSockets 如果我使用WebSockets,我不确定将其集成到我的Backbone集合中的最佳方法,以便它与REST API一起工作. 目前我的Backbone集合看起来像这样: var Links = Backbone.Collection.extend({ url: '/api/links' }); 我不确定如何启用Backbone集合来处理AJAX和WebSockets.我是否继续使用默认的Backbone.sync进行CRUD Ajax操作,然后手动处理单个WebSocket连接?在我脑海里: var Links = Backbone.Collection.extend({ url: '/api/links',initialize: function () { var socket = io.connect('http://localhost'); socket.on('newLinks',addLinks) },addLinks: function (data) { // Prepend `data` to the collection }; }) 问题 我应该如何实现我的实时需求,从上面的选项或你有任何其他想法?请提供代码示例以提供一些上下文.
别担心!
Backbone.WS让你满意.
您可以初始化WebSocket连接,如: var ws = new Bakcbone.WS('ws://exmaple.com/'); 并将模型绑定到它: var model = new Backbone.Model(); ws.bind(model); 然后,此模型将使用ws:消息类型侦听消息事件,您可以调用model.send(data)通过该连接发送数据. 当然,收藏也是如此. Backbone.WS还提供了一些工具,用于将类似自定义REST的API映射到模型/集合. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |