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

outputfields ne sera jamais appelé, pas sûr que je suis en train de faire une bonne façon ou non, ne pas la fonction de résolution est appelée alors que les données de retour de la méthode mutateAndGetPayload.Impossible de définir la propriété « clientMutationId » undefined » Erreur

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

duplication possible: http://stackoverflow.com/questions/33831911/cannot-set-property-clientmutationid-of-undefined – marktani

+0

"les champs de sortie ne sont jamais appelés" - comment le savez-vous? –

+1

@AhmadFerdous s'il avait été appelé alors il devrait imprimer le jeton dans graphiql –

Répondre

3

Je pense que vous avez besoin de retourner quelque chose de la méthode mutateAndGetPayload. cela pourrait être une promesse. Essayez de retourner le userprof.findOne.

2

Solution