Api 在余烬';什么是适应?

Api 在余烬';什么是适应?,api,rest,ember.js,ember-data,bulk,Api,Rest,Ember.js,Ember Data,Bulk,余烬数据的DS.RESTAdapter包括bulkCommit属性。我找不到任何关于这意味着什么的文档,除了一些关于批提交和批量提交的模糊引用 起初我认为这意味着我一次只能更新一条记录,但目前我将其设置为false,并且我仍然能够使用以下方法同时更新多条记录: this.get('store').commit(); 那么将bulkCommit设置为false和将其设置为true之间有什么区别呢?在什么情况下,我会使用一个而不是另一个?REST适配器支持批量提交,以便您可以在一次修改多个记录时提

余烬数据的
DS.RESTAdapter
包括
bulkCommit
属性。我找不到任何关于这意味着什么的文档,除了一些关于批提交和批量提交的模糊引用

起初我认为这意味着我一次只能更新一条记录,但目前我将其设置为
false
,并且我仍然能够使用以下方法同时更新多条记录:

this.get('store').commit();

那么将
bulkCommit
设置为false和将其设置为
true
之间有什么区别呢?在什么情况下,我会使用一个而不是另一个?

REST适配器支持批量提交,以便您可以在一次修改多个记录时提高性能。例如,假设您要创建3条新记录

var tom = store.createRecord(Person, { name: "Tom Dale" });
var yehuda = store.createRecord(Person, { name: "Yehuda Katz" });
var mike = store.createRecord(Person, { name: "Mike Grassotti" });
store.commit();
这将导致3个API调用来发布'/people'。如果启用
bulkCommit
功能

set(adapter, 'bulkCommit', true);
var tom = store.createRecord(Person, { name: "Tom Dale" });
var yehuda = store.createRecord(Person, { name: "Yehuda Katz" });
var mike = store.createRecord(Person, { name: "Mike Grassotti" });
store.commit();
然后,ember data将只调用一个API来发布'/people',并提供所有3条记录的详细信息。显然,并不是每个API都会支持这一点,但如果您的API支持这一点,它确实可以提高性能


恐怕还没有相关文档,但您可以在下面的单元测试中看到它的工作原理:

我认为这是不推荐的。的最后一部分解释了如何在Ember Data v.1.0My中进行批量保存。它不使用单个请求:“如果您想批量保存一组记录,并同时保存所有记录,您可以将它们放入一个数组中,并在准备就绪时调用。invoke(‘save’)。我们计划在将来通过专用API通过单个HTTP请求支持批量保存。”