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

outputfields никогда не вызывается, не уверен ли я делать в правильном направлении или нет, не функция решительность вызывается при возвращении данных из метода mutateAndGetPayload.Невозможно установить свойство «не clientMutationId» неопределенной»Ошибка

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

«Выходные поля никогда не называются» - откуда вы это знаете? –

+1

@AhmadFerdous, если бы он был вызван, тогда он должен распечатать маркер в графике –

ответ

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) }; 
      } 
     } 
    }); 
} 
Смежные вопросы