嗨,我正在使用backbone.js paly2.0框架应用程序(与Java)。在我的应用程序中,我需要定期从数据库中获取表格数据(对于显示即将发生的事件列表的用例,以及是否应该从列表中删除旧事件)。我正在获取要显示的数据,但是问题是经常打数据库。为此,我尝试按照这些链接使用backbone.js轮询概念Polling a Collection with Backbone.js,http://kilon.org/blog/2012/02/backbone-poller/。但他们没有从db中轮询最新的集合。请建议我如何实现这个或其他选择? 谢谢你。如何在backbone.js中进行轮询?
2
A
回答
8
有没有一种原生的方式与骨干做到这一点。但是,你可以实现长轮询请求添加一些方法到您的收藏:
// MyCollection
var MyCollection = Backbone.Collection.extend({
urlRoot: 'backendUrl',
longPolling : false,
intervalMinutes : 2,
initialize : function(){
_.bindAll(this);
},
startLongPolling : function(intervalMinutes){
this.longPolling = true;
if(intervalMinutes){
this.intervalMinutes = intervalMinutes;
}
this.executeLongPolling();
},
stopLongPolling : function(){
this.longPolling = false;
},
executeLongPolling : function(){
this.fetch({success : this.onFetch});
},
onFetch : function() {
if(this.longPolling){
setTimeout(this.executeLongPolling, 1000 * 60 * this.intervalMinutes); // in order to update the view each N minutes
}
}
});
var collection = new MyCollection();
collection.startLongPolling();
collection.on('reset', function(){ console.log('Collection fetched'); });
+0
只需要注意触发你自己的''collectionFetched''可能是不需要的,因为它会触发''重置'已经,而且无论如何,这将更加普遍有用。 – loganfsmyth 2012-07-31 02:34:57
+0
我同意,我可以更新它。 :D的感觉是一样的,谢谢! – 2012-07-31 02:59:19
相关问题
- 1. 如何在jquery中进行轮询?
- 2. 避免在Rails中进行轮询
- 3. 如何在ASP.NET MVC中进行长轮询AJAX请求?
- 4. 如何在.NET 3.5中进行HTTP 1.1长轮询?
- 5. 如何在MySQL/PHP中进行实时数据库轮询?
- 6. 使用Backbone.js轮询收藏集
- 7. 如何在HTML页面上进行轮询?
- 8. 如何在不进行轮询的情况下实现std :: when_any?
- 9. 在turbolink中使用jQuery在Rails中进行长轮询
- 10. 使用JavaScript进行服务器轮询
- 11. MQTT通过GPRS/HSDPA进行长轮询
- 12. 使用GMail API进行长轮询
- 13. 轮询文件以进行更改是如何工作的?
- 14. 如何从iPhone应用程序进行长轮询?
- 15. 如何使用sql查询结果进行轮换?
- 16. 我应该如何轮询大量文件以进行更改?
- 17. 如何在Mule中进行轮询,直到完成所有任务
- 18. 在Linux中,以认真的方式进行轮询
- 19. 使用URLStream在AIR中进行Comet式长轮询
- 20. 在.NET中使用WinForms客户端进行长轮询
- 21. 如何在SignalR中停止轮询?
- 22. 如何在sqlalchemy中进行此查询?
- 23. 如何在Windows中进行SNMP查询?
- 24. 如何在ElasticSearch中进行whereIn查询?
- 25. 如何在Lucene.Net中进行IN查询
- 26. 如何在Apollo-Client中进行查询?
- 27. 如何在Solr中进行IN查询?
- 28. RichFaces的进度轮询
- 29. 如何在C中进行轮流管理?
- 30. 如何在Java中运行轮询阻止消费者?
你是什么意思与_“他们不是从数据库查询最新系列” _。骨干将使用您的服务器发送的数据,如果发送的数据不是您期望的问题可能在服务器端。 – fguillen 2012-07-30 09:39:50
谢谢你的回复.server正在发送数据,我的意思是说我要定期用1分钟的时间打数据库 – 2012-07-30 10:43:11