【发布时间】:2018-01-10 02:42:06
【问题描述】:
根据此处的文档,graphql-tools 库中解析器函数的第二个参数是传递给查询的对象
http://dev.apollodata.com/tools/graphql-tools/resolvers.html#Resolver-function-signature
但是,如果我使用 graphql >= 0.8.0 版本运行 graphql-tools,则作为第二个参数传递的“对象”缺少一些对象属性。例如,arg.constructor 和 arg.hasOwnProperty 未定义。
在之前的版本 0.7.2 中,这两个语句的计算结果都为 true:
arg.consructor === Object
arg.hasOwnProperty === 'function'
有谁知道实际上作为第二个参数传递了什么,或者为什么这些通常存在于 JS 对象上的属性是未定义的?
在下面编辑:
我可以通过这样做来解决这个问题:
async resolverFuncForMutation(root, nonObjArgs, context) {
const args = Object.assign({}, nonObjArgs);
但我不想记住如何为每个解析器函数执行此操作。有没有人知道如果有办法在某种预解析挂钩中配置它?
【问题讨论】:
标签: javascript graphql graphql-js apollo apollo-server