据这里的文件,第二个参数在graphql工具库中的解析函数传递到查询graphql-tools突变解析器的参数不是v> 0.8.0中的对象吗?
http://dev.apollodata.com/tools/graphql-tools/resolvers.html#Resolver-function-signature
但是一个对象,如果我跑graphql工具使用版本graphql的> = 0.8.0,作为第二个参数传递的“对象”缺少一些对象属性。例如,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);
但我不希望一定要记住怎么做,对于每一个解析器功能。有没有人知道如何有一种方法来配置这种情况发生在某种预解析钩子?
谢谢男人,就是这样! 不幸的是我有一些第三方库调用hasOwnProperty,等等。论证。 结束为我的解析器函数编写一个小预处理器来遍历参数数据结构并调用类似args ='Object.assign({},args)'的东西。像魅力一样工作 – albertlockett