让我们说我们有以下graphql架构:
type Author : Object { id: ID! name: String,books: [Book] } type Book : Object { id: ID! title: String authorId: Int author: Author }
然后进行如下查询:
{ books: { id title author { id name } } }
例如,如果我们有10本书,那么我们最终会得到10个作者查询,因为将为每个读取的书调用resolve函数:
select id,name from author where id = 123
select id,name from author where id in (123,456,789,1011)
是否有一些工作解决方案,最佳实践,技术或某些有助于实现这一目标的东西?
解决方法
DataLoader是你的答案,它具有批处理功能,这意味着它将排队所有ID.只有一旦它准备好它将作为批次拉动它
演示可以在这里找到:
https://youtu.be/UBGzsb2UkeY(特别是最后5分钟)
Algorithem解释可以在这里找到:
https://youtu.be/OQTnXNCDywA
演示可以在这里找到:
https://youtu.be/UBGzsb2UkeY(特别是最后5分钟)
Algorithem解释可以在这里找到:
https://youtu.be/OQTnXNCDywA
请享用 :)