gpt4 book ai didi

javascript - Ember JS : How to reuse ember data while calling?

转载 作者:行者123 更新时间:2023-12-02 23:36:37 26 4
gpt4 key购买 nike

我有两个模型要调用。在第一个模型中,我包含了这样的一些日期。

this.store.query('comment',{
include : 'person,address'
});

在第二次调用中,我添加了已存储在商店中的相同详细信息。

this.store.query('post',{
include : 'person,address'
});

因此,API 调用需要花费大量时间来解析。有什么方法可以使用第一个 API 在第二个 API 调用中包含数据来创建这两个模型(人员、地址)之间的关系。这将为我节省很多时间。

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

最佳答案

您正在使用query() method of Ember Data's store 。它需要两个参数:模型名称作为第一个参数,查询作为第二个参数。最后一个作为请求的一部分直接传递到您的后端。负责的代码非常简单:https://github.com/emberjs/data/blob/v3.10.0/addon/adapters/rest.js#L535-L560

如果您使用默认的 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 无法从该请求得知客户端已在本地缓存了一些 personaddress 记录。默认情况下,Ember Data 不包含该信息。您可以自定义您的适配器两个,但我不建议这样做 - 特别是因为这可能会增加请求大小并大幅降低缓存命中率。此外,您可能想重新加载本地缓存的记录。

如果您期望两个已在本地缓存了大部分相关记录,您可能只是不想要求服务器包含它们?在这种情况下,稍后将它们加载到 coalesced request 中可能会更便宜。 .

关于javascript - Ember JS : How to reuse ember data while calling?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56270535/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com