【发布时间】:2020-12-01 08:49:30
【问题描述】:
我对 data-loader 真正感兴趣的是每个请求的缓存。例如说我的 graphql 查询需要调用 getUser("id1") 3x。我想要一些东西来重复那个电话。
但是,对于数据加载器,我似乎需要将一组键传递到我的批处理函数中,并且多个请求将被批处理到一个 api 调用中。
这让我做了一些我不喜欢的假设:
1.) 我调用的每个服务都有一个批处理 api(我处理的一些服务没有)。
2.) 如果多个调用被批处理为 1 个 api 调用,并且该调用失败,因为其中 1 个项目未找到。通常我可以通过为该字段返回 null 来处理这个问题,这可能是一个有效的情况。但是,现在我的整个调用可能会失败,如果批处理 API 由于未找到 1 项而决定抛出错误。
无论如何都可以将数据加载器与单键请求一起使用。
【问题讨论】:
标签: graphql graphql-js dataloader