Я попытался разобраться в этом сам и погуглил, но, похоже, нигде не могу найти ответ, поэтому я попробую здесь свою удачу.
У меня есть эта мутация, как показано ниже:
Mutation :{
createFriend: (root,{ input }) => {
const newFriend = new Friends({
firstName: input.firstName,
lastName: input.lastName,
gender: input.gender,
age: input.age,
language: input.language,
email: input.email,
contacts: input.contacts
});
newFriend.id = newFriend._id;
return new Promise((resolve,object) =>{
newFriend.save((err) =>{
if (err) reject(err)
else resolve(newFriend)
})
})
}
Меня смущает следующий фрагмент:
return new Promise((resolve,object) =>{
newFriend.save((err) =>{
if (err) reject(err)
else resolve(newFriend)
})
}
Что делает «вернуть новое обещание» и почему внутри него есть параметр объекта, который я никогда не использую?
Был бы более чем счастлив, если бы кто-нибудь объяснил мне, что происходит.
Заранее спасибо.
«Что делает return new promise» - developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…
У меня была такая же мысль, но она работает, и это из учебника Линды, где учитель постоянно помещает этот объект во все свои мутации.
@Bergi Я знаю, но на сайте, на который вы ссылаетесь, нет примеров объектов внутри параметра. Тем не менее, в нем есть множество примеров использования resolve, reject.
Я пойду с твоим решением, Берги, и согласен, что это, должно быть, ошибка. Спасибо за помощь, ребята.
Это не «объект». Это просто параметр (переданного вами выражения функции) с именем object, его можно назвать как угодно. Можно даже продолжать использовать имя object, а затем вызывать функцию if (err) object(err), это просто противоречит условию. Кстати, если учитель делает это неоднократно, ему следует сказать об этом.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Как указал Берги в комментариях, это, должно быть, ошибка учителя из учебника Lynda.com.
(разрешить, отклонить) имеет смысл и все еще работает, поэтому я закрою этот вопрос и скажу, что ответ Берджиса - это решение.
Выглядит просто как ошибка. Этот параметр
objectдолжен называтьсяreject.