我收到一个奇怪的错误,无法弄清楚我做错了什么。我写了一个graphql突变来调用一个api:
domainStuff: async (parent, { command, params }, { models }) => {
console.log("Params:", params);
const result = await dd24Api(command, params);
return result;
}
这是我调用的函数:
export default async (command, parameter) => {
const args = _.merge({ params: parameter }, auth);
// Eleminate copying mistakes
console.log(typeof args);
const properCommand = command + "Async";
const result = await soap
.createClientAsync(apiWSDL)
.then(client => {
return client[properCommand](args)
.then(res => {
console.log(res[command + "Result"]);
return res[command + "Result"];
})
.catch(err => {
console.log(err);
return err;
});
})
.catch(err => console.log(err));
return result;
使用此查询变量:
{
"command": "CheckDomain",
"params": {"domain": "test.it"}
}
console.log 告诉我 args 是一个对象,但我得到了这个错误(来自第一个 catch 块):
TypeError: obj.hasOwnProperty is not a function
这个怎么可能?毕竟我检查了它是否是一个对象,它是。更奇怪的是,如果我在查询中给出一个硬编码的对象,例如:
domainStuff: async (parent, { command, params }, { models }) => {
console.log("Params:", params);
const result = await dd24Api(command, {domain: "test.com"});
return result;
}
然后它工作得很好。我究竟做错了什么?感谢您提前提供任何帮助。
编辑:我正在使用“graphql-server-express”:“^0.8.0”和“graphql-tools”:“^1.0.0”