字段variableValues在节点上执行graphql库时不起作用

字段variableValues在节点上执行graphql库时不起作用,graphql,Graphql,我正在节点上使用graphql库(),但在传递变量属性方面遇到了一些困难 const variableValues = { routing, // String statuses, // Array date // Input type described in the query } return graphql({ schema: schema, source: query, rootValue: resolvers, variableValues: varia

我正在节点上使用graphql库(),但在传递变量属性方面遇到了一些困难

const variableValues = {
  routing, // String
  statuses, // Array
  date // Input type described in the query
}

return graphql({
  schema: schema,
  source: query,
  rootValue: resolvers,
  variableValues: variableValues
})
不幸的是,variableValues没有传递给解析器(如果我从解析器记录上下文,它会显示variableValues是一个空对象)


有什么建议吗?

变量值不会传递给上下文。变量用于替换操作中的值。因此,不要像这样使用文字值:

query GetUser {
  getUser(id: 42) {
    name
  }
}
我们可以写作

query GetUser($userId: ID!) {
  getUser(id: $userId) {
    name
  }
}
在此特定示例中,
userId
将作为
id
参数公开给
getUser
的解析器。字段的参数作为第二个参数提供给解析器函数,与上下文(传递给解析器的第三个参数)分开


请注意,变量也可以用作指令的参数,在这种情况下,它们根本不会作为参数映射的一部分传递给解析器。

变量值不会传递给上下文。变量用于替换操作中的值。因此,不要像这样使用文字值:

query GetUser {
  getUser(id: 42) {
    name
  }
}
我们可以写作

query GetUser($userId: ID!) {
  getUser(id: $userId) {
    name
  }
}
在此特定示例中,
userId
将作为
id
参数公开给
getUser
的解析器。字段的参数作为第二个参数提供给解析器函数,与上下文(传递给解析器的第三个参数)分开

请注意,变量也可以用作指令的参数,在这种情况下,它们根本不会作为参数映射的一部分传递给解析器