2016-12-12 1 views
2
outputFields: { 
    token: { 
     type: GraphQLString, 
     resolve: (token) => token 
    } 
}, 

outputfields決して未定義」エラーの「clientMutationIdない」またはmutateAndGetPayloadメソッドからデータを戻しながら、解決関数が呼び出されるものではありません。ただし。設定できませんプロパティは、私が正しい方法でやっているかどうかわからない、呼び出さ

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}; 
      } 
     } 
    }); 
} 
+0

可能な複製:http://stackoverflow.com/questions/33831911/cannot-set-property-clientmutationid-of-undefined – marktani

+0

"outputfieldsは決して呼び出されません" - あなたはそれをどのように知っていますか? –

+1

@AhmadFerdousが呼び出されていたら、それはgraphiqlにトークンを出力します –

答えて

3

は、私はあなたがmutateAndGetPayloadメソッドから何かを返す必要があると思います。それは約束である可能性があります。userprof.findOneを返すようにしてください。

2

ソリューション

token: { 
     type: GraphQLString, 
     resolve: ({token}) => token 
    } 
}, 
mutateAndGetPayload: (credentials) => { 
    return UserProf.findOne({ email: credentials.email }).then((r) => { 
     if (!r) { 
      return new Error('no user'); 
     } else if (r) { 
      if (r.password != credentials.password) { 
       return new Error('password error'); 
      } else { 
       return { token: jwt.getToken(r) }; 
      } 
     } 
    }); 
} 
関連する問題