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