我想这取决于你的使用场景,以及你想改变多少调用代码。我认为你有两个选择:
选项 1:不更改客户端(调用)代码
奇怪的是,Backbone.sync 的注释源给出了“批处理”作为覆盖该sync方法的可能原因:
使用 setTimeout 将快速更新批处理到单个请求中。
不是在同步时实际保存,而是将请求添加到队列中,并且仅每隔一段时间进行批量保存。_.throttle或者_.delay可能会在这里帮助你。
选项 2:更改客户端代码
或者,save您可以向集合添加某种save方法,而不是调用模型。你必须跟踪哪些模型实际上被修改了,因此需要更新,因为据我所知,Backbone 只知道它们是否是新的(但我可能是错的)。