应该使用什么技术来实现 Backbone.sync 的批量插入/更新?
问问题
1920 次
2 回答
4
我想这取决于您的使用场景,以及您想要更改多少调用代码。我认为你有两个选择:
选项 1:不更改客户端(调用)代码
奇怪的是,Backbone.sync 的注释源将“批处理”作为覆盖该sync
方法的可能原因:
使用 setTimeout 将快速更新批处理到单个请求中。
与其实际保存同步,不如将请求添加到队列中,并且每隔一段时间才批量保存。_.throttle
或者_.delay
可以在这里帮助你。
选项 2:更改客户端代码
或者,您可以向集合save
添加某种方法,而不是调用您的模型。save
您必须跟踪实际修改了哪些模型,因此需要更新,因为据我所知,Backbone 只知道它们是否是新的(但我可能错了)。
于 2012-06-15T10:01:08.870 回答
1
我是这样做的
Backbone.originalSync = Backbone.sync;
Backbone.sync = function (method, model, options) {
//
// code to extend sync
//
// calling original sync
Backbone.originalSync(method, model, options);
}
对我来说很好,我用它来控制来自任何模型或集合的每个 ajax 请求
于 2015-08-20T07:38:07.860 回答