Backbone.js 是否将Backbone.sync扩展到批处理同步?
您应该使用什么技术来实现Backbone.sync的批插入/更新?我想这取决于您的使用场景,以及您希望更改多少调用代码。我认为你有两个选择: 选项1:不更改客户端(呼叫)代码 奇怪的是,注释给出了“批处理”作为重写Backbone.js 是否将Backbone.sync扩展到批处理同步?,backbone.js,Backbone.js,您应该使用什么技术来实现Backbone.sync的批插入/更新?我想这取决于您的使用场景,以及您希望更改多少调用代码。我认为你有两个选择: 选项1:不更改客户端(呼叫)代码 奇怪的是,注释给出了“批处理”作为重写sync方法的可能原因: 使用setTimeout将rapid fire更新批处理到单个请求中 不要在同步时实际保存,而是将请求添加到队列中,并且每隔一段时间只进行批保存。或者可以帮你 选项2:更改客户端代码 或者,您可以向集合添加某种类型的save方法,而不是在模型上调用save。您
sync
方法的可能原因:
使用setTimeout将rapid fire更新批处理到单个请求中
不要在同步时实际保存,而是将请求添加到队列中,并且每隔一段时间只进行批保存。或者可以帮你
选项2:更改客户端代码
或者,您可以向集合添加某种类型的save
方法,而不是在模型上调用save
。您必须跟踪哪些模型被实际修改,因此需要更新,因为据我所知,主干网只知道它们是否是新的(但我可能错了)。我是这样做的
Backbone.originalSync = Backbone.sync;
Backbone.sync = function (method, model, options) {
//
// code to extend sync
//
// calling original sync
Backbone.originalSync(method, model, options);
}
对我来说效果很好,我使用它来控制来自任何模型或集合的每个ajax请求如果我使用
.throttle
或.delay
,如何在一个ajax请求中发送多个“更新”?模型阵列?有多种方法,实际上这取决于您的数据访问模式。这里有一个讨论: