烬数据批量保存到服务器



Ember Data正在快速地从一个版本移动到另一个版本,保存数据的方法也在随之变化。现在在1.0.0-beta.8.2a68c63a版本中,正确的方法是更新一条记录,然后执行record.save()来触发一个PUT请求返回到服务器。与我目前的应用程序,我一次更新多个记录,这可能涉及50+ PUT ajax请求回服务器。我们担心性能和效率问题,还没有找到任何关于批量请求的文档。如果有的话,我们在网上发现了很多其他人正在寻找做同样的事情,但还没有找到一个好的解决方案。

现在我正在研究手动序列化这些对象并将它们保存回服务器,我认为这是Ember Data的全部意义。因此,也许我最感兴趣的是根本不使用Ember Data,而是手动编写CRUD请求,并创建自己的数据层来处理所有这些,而只是使用ArrayControllers和ObjectControllers来保存数据并绑定到Handlebars模板中。这样做的好处似乎是,它将按照我需要的方式工作(批处理请求),并且代码不会与未来版本的Ember Data中断。有什么想法或解决方案吗?

您可以使用DS.EmbeddedRecordsMixin。如果您的Page对象有许多块(例如,根据您的评论),那么page-serializer.js看起来像:

import DS from 'ember-data';
export default DS.RESTSerializer.extend(DS.EmbeddedRecordsMixin, {
  attrs: {
    blocks: { serialize: 'records' }
  }
});

当您保存一个页面记录时,它的所有相关块记录将包含在那个PUT请求中。

相关内容

  • 没有找到相关文章

最新更新