我想减少对 graphql 服务器的请求数。 我有一个数组中的对象,例如
[{name: "gokhan", age: 20}, ...];
我使用 graphql 突变来添加数组的每个项目。
如果数组有 50 个项目,我需要发送 50 个请求 来添加所有数据。有什么方法可以减少请求的数量吗?
最佳答案
解决这个问题有两个主要的选择:
选项 1(首选):向处理这些输入对象的 GraphQLList
的 GraphQL 模式添加一个新的突变。你如何做到这一点会根据你使用的 GraphQL 服务器而改变(在 PostGraphile 中你会使用 custom mutation 或 schema extension );但是模式定义语言可能看起来像这样:
input CreateManyPeopleInput {
people: [CreatePersonInput!]!
}
type CreateManyPeoplePayload {
createdPeople: [Person!]
}
extend type Mutation {
createManyPeople(input: CreateManyPeopleInput): CreateManyPeoplePayload
}
选项 2:启用 "query batching" .要使用它,您将需要支持 GraphQL 查询批处理的服务器和客户端。本质上,它允许您在一个请求中发送多个 GraphQL 查询,并在一个响应中获取所有响应。这不需要对您的 GraphQL 模式进行任何更改,但效率不高,典型的实现只允许将约 10 个查询批处理到一个请求中,因此您的 50 个创建可能仍需要 5 个请求。
关于javascript - 如何使用 GraphQL 突变减少请求数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52144940/