我有两个查询来获取公司的类别类型。 员工查询包括数据库中公司查询类型的一部分类型。 如果我只查询员工查询,则employee types数组包含2个元素。 如果我只查询公司查询,公司类型数组包含4个元素。 好.. 但是,如果我同时查询两者,那么员工的类型数组会更新,并突然包含4个元素而不是2个元素。
query GetEmployee ($id: ID!) {
employee (id: $id) {
id,
companyTaskCategories{
id,
title,
color,
archived,
types(restrictEmployee: true) {
id,
title,
archived,
}
}
}
query company {
company {
id,
taskCategories {
id,
title,
color,
archived,
types(restrictEmployee: false) {
id,
title,
archived,
}
}
}
}
答案 0 :(得分:0)
不确定您是如何实现解析器功能的,但如果您想运行两个查询并获得隔离结果,请使用突变,因为它可以确保您的查询不会在后端创建竞争条件。
所以请使用突变来顺序获取数据。
如http://graphql.org/learn/queries/
中所述虽然查询字段是并行执行的,但突变字段会在其中运行 系列,一个接一个。