Ember Data的DS.RESTAdapter
包含bulkCommit
属性。除了对批量提交和批量提交的一些模糊引用之外,我找不到任何关于这个/做什么的文档。
最初我认为这意味着我一次只能更新一条记录,但我现在将其设置为false
,我仍然可以使用以下方式同时更新多条记录:< / p>
this.get('store').commit();
那么将bulkCommit
设置为false并将其设置为true
之间的区别是什么?我会在什么情况下使用一个而不是另一个?
答案 0 :(得分:3)
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();
这将导致对POST'/ people'进行3次API调用。如果您启用了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将只对POST'/ people'进行一次API调用,并提供所有3条记录的详细信息。显然不是每个API都会支持这一点,但如果你这样做,它确实可以提高性能。
AFAIK尚未提供相关文档,但您可以在以下单元测试中看到它:creating several people (with bulkCommit) makes a POST to /people, with a data hash Array