gpt4 book ai didi

backbone.js - 如何在 backbone.js 中进行轮询?

转载 作者:行者123 更新时间:2023-12-04 19:51:56 25 4
gpt4 key购买 nike

您好,我正在使用 backbone.js 开发一个 paly2.0 框架应用程序(使用 java)。在我的应用程序中,我需要定期从数据库中获取表数据(用于显示即将发生的事件列表的用例,如果交叉旧事件应该从列表中删除)。我正在获取要显示的数据,但是问题是定期访问数据库。为此,我尝试根据这些链接使用 backbone.js 轮询概念 Polling a Collection with Backbone.js , http://kilon.org/blog/2012/02/backbone-poller/ .但是他们没有从数据库中轮询最新的集合。请建议我如何实现该目标或任何其他替代方案?感谢副词。

最佳答案

Backbone 没有原生的方法来做到这一点。但是您可以在集合中添加一些方法来实现长轮询请求:

// 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'); });

关于backbone.js - 如何在 backbone.js 中进行轮询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11718301/

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