谷歌应用程序制造商保存和更新记录
自动保存模式
在自动省电模式应用设备立即节省每一个领域,所以你必须每场节约粒度。换句话说,每当字段值被更改时,App Maker都会向服务器发送请求以保存修改。
// this code will trigger async call to server to save the modification
// only for this particular field.
app.datasources.MyDatasource.item.MyField = 'My new value';
手动保存模式
带手动保存模式中,没有简单的方法来单独保存修改的子集,因为每当你叫“的SaveChanges”方法应用Maker将尽量坚持到所做的所有修改数据源。这里有一些非常糟糕的变通办法我不会推荐,除非你有没有其他选择:
// Implementation with callback chaining if field save
// order matters. It will work extremely slow.
var ds = app.datasources.MyDatasource;
ds.item.MyField1 = 'My new value 1';
ds.saveChanges(function() {
ds.item.MyField2 = 'My new value 2';
ds.saveChanges(function() {
ds.item.MyField3 = 'My new value 3';
...
});
});
// Implementation without chaining. In theory should work
// faster(if it would work at all...)
var ds = app.datasources.MyDatasource;
ds.item.MyField1 = 'My new value 1';
ds.saveChanges();
ds.item.MyField2 = 'My new value 2';
ds.saveChanges();
ds.item.MyField3 = 'My new value 3';
ds.saveChanges();
...
服务器脚本
差不多相同的答案手动保存模式,它是可行的,但我不会推荐它,因为性能会显着降低。
record.MyField1 = 'My new value 1';
app.saveRecords([record]);
record.MyField2 = 'My new value 2';
app.saveRecords([record]);
record.MyField3 = 'My new value 3';
app.saveRecords([record]);
...
谢谢帕维尔。我想禁用自动保存模式有没有办法做到这一点。 –
当然,您可以在数据源设置中找到'手动保存模式'复选框:https://stackoverflow.com/questions/45686397/how-to-i-revert-to-manual-save-mode/45696897#45696897 –
谢谢pavel这有助于 –
为什么你需要它? –