【发布时间】:2017-04-26 22:34:48
【问题描述】:
outputFields: {
token: {
type: GraphQLString,
resolve: (token) => token
}
},
outputfields 永远不会被调用,不确定我是否以正确的方式进行操作,从 mutateAndGetPayload 方法返回数据时不会调用 resolve 函数。
mutateAndGetPayload: (credentials) => {
console.log('credentials', credentials);
userprof.findOne({email: credentials.email}).exec(function(err, r) {
if(!r) {
return new Error('no user')
} else if(r) {
if(r.password != credentials.password) {
return new Error('password error');
} else {
var token = jwt.getToken(r);
console.log(token);
return {token};
}
}
});
}
【问题讨论】:
-
"outputfields 永远不会被调用" -- 你怎么知道的?
-
@AhmadFerdous 如果它会被调用,那么它应该在 graphiql 中打印令牌
-
当您在输出字段的
resolve: (token) => token中放置console.log(token);调试语句时,您会看到什么?您是否看到具有token属性的对象?因为您在mutateAndGetPayload函数中返回了一个对象。
标签: graphql relayjs graphql-js