我在获取集合后尝试调用success
回调时遇到问题。这是集合中的代码,问题是执行executeLongPolling
(function() {
window.StatusCollection = Backbone.Collection.extend({
longPolling : false,
intervalSeconds : 20,
model: Status,
url: function(){
return this.project.id + 'statuses/';
},
initialize : function(){
_.bindAll(this);
},
startLongPolling : function(invervalSeconds){
this.longPolling = true;
if( invervalSeconds ){
this.invervalSeconds = invervalSeconds;
}
this.executeLongPolling();
},
stopLongPolling : function(){
this.longPolling = false;
},
executeLongPolling : function(){
var that = this;
this.fetch({
success : function(collection, response, options) {
that.onFetch();
}
});
},
onFetch : function () {
if( this.longPolling ){
setTimeout(this.executeLongPolling, 1000 * this.intervalSeconds);
}
}
}); })();
令人惊讶的是,当我添加更新选项时,它可以工作并且调用that.onFetch()
行:
executeLongPolling : function(){
var that = this;
this.fetch({ update: true,
success : function(collection, response, options) {
that.onFetch();
}
});
},
我正在使用骨干-0.9.10.和骨干关系-0.7.0
任何想法出了什么问题?谢谢!
我的问题的解决方案时遇到了您的问题,从 0.9.2 升级到 0.9.10 后,只是添加到我的集合(我不使用 fetch)似乎被破坏了任何人,只是瞥了一眼你的问题,可能与 fetch 在 0.9.10 中发生了变化有关看看这些:
骨干投掷集合[方法]函数错误https://github.com/addyosmani/backbone.paginator/issues/134
或者也许是骨干关系在 0.9.10 中尚未完全正常运行的事实https://github.com/PaulUithol/backbone-tastypie/pull/25