|
|
1
0
因此,dataloader的真正好处是它阻止您执行n+1查询。也就是说,如果在您的模式中,person有一个字段记录,那么您要求前10个人的10个记录。在一个幼稚的gql模式中,这将导致11个请求被触发:前10个人有1个请求,然后每个记录有一个请求。 在dataloader的实现中,您可以将其减少到两个请求:一个用于前10个人,一个用于前10个人的所有记录。 使用上面的模式,似乎无法从dataloader中获得任何好处,因为不可能有n+1查询。如果在一个请求中对同一个人或同一记录发出多个请求(同样,除非使用批处理查询,否则根据架构设计,这是不可能的),则可能获得的唯一好处是缓存。 假设你想要缓存。然后你可以这样做:
然后要将装载机连接到 context 方便分享。阿波罗文档的修改示例:
然后,可以在解析器的上下文中使用它们:
|
|
|
2
0
我想我对dataloader的功能感到困惑。对我来说,提供嵌套数据确实是个绊脚石。
这是丢失的代码。从resolvers.js导出需要
架构中的person类型需要
似乎这些特征是由阿波罗提供的
|