Javascript Ember JS:如何在调用时重用Ember数据?

Javascript Ember JS:如何在调用时重用Ember数据?,javascript,ember.js,ember-data,Javascript,Ember.js,Ember Data,我有两个模特要打电话。在第一个模型中,我包含了这样的日期 this.store.query('comment',{ include : 'person,address' }); 在第二次通话中,我加入了商店中已经储存的相同细节 this.store.query('post',{ include : 'person,address' }); 因此,API调用需要花费大量时间来解决。是否有任何方法可以在第二个API调用中使用第一个API包含数据来创建这两个modelsperson、a

我有两个模特要打电话。在第一个模型中,我包含了这样的日期

this.store.query('comment',{
   include : 'person,address'
});
在第二次通话中,我加入了商店中已经储存的相同细节

this.store.query('post',{
   include : 'person,address'
});
因此,API调用需要花费大量时间来解决。是否有任何方法可以在第二个API调用中使用第一个API包含数据来创建这两个modelsperson、address之间的关系。 这会为我节省很多时间

注意:示例仅用于测试目的。

您使用的是。它需要两个参数:模型名作为第一个参数,查询作为第二个参数。最后一个将作为请求的一部分直接传递到后端。责任代码非常简单:

如果使用默认JSONAPIAdapter,则方法调用执行的请求如下所示:

this.store.query('comment', { include: 'person,address' });
=> GET /comments?include=person,address

this.store.query('post', { include: 'person,address' });
=> GET /posts?include=person,address
API从该请求中不知道客户端已经在本地缓存了一些person和address记录。默认情况下,余烬数据不包括该信息。你可以定制你的适配器,但我不建议你这么做,特别是因为这可能会扩大请求的大小,并将缓存命中率降低相当大的一部分。此外,您可能希望重新加载本地缓存的记录


如果您希望两个服务器的大部分相关记录都已在本地缓存,那么您可能不想要求服务器包含它们?在这种情况下,以后将它们加载到数据库中可能会更便宜。

请显示您的模型、它们之间的关系、您的JSON响应以及您想要的JSON响应。通常情况下,您可以只指定ID。