GraphQL: вернуть новое обещание ((разрешение, объект)

Я попытался разобраться в этом сам и погуглил, но, похоже, нигде не могу найти ответ, поэтому я попробую здесь свою удачу.

У меня есть эта мутация, как показано ниже:

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)


                })


            }

Что делает «вернуть новое обещание» и почему внутри него есть параметр объекта, который я никогда не использую?

Был бы более чем счастлив, если бы кто-нибудь объяснил мне, что происходит.

Заранее спасибо.

Выглядит просто как ошибка. Этот параметр object должен называться reject.

Bergi 06.06.2018 15:37

«Что делает return new promise» - developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…

Bergi 06.06.2018 15:38

У меня была такая же мысль, но она работает, и это из учебника Линды, где учитель постоянно помещает этот объект во все свои мутации.

user9807244 06.06.2018 15:38

@Bergi Я знаю, но на сайте, на который вы ссылаетесь, нет примеров объектов внутри параметра. Тем не менее, в нем есть множество примеров использования resolve, reject.

user9807244 06.06.2018 15:41

Я пойду с твоим решением, Берги, и согласен, что это, должно быть, ошибка. Спасибо за помощь, ребята.

user9807244 06.06.2018 15:43

Это не «объект». Это просто параметр (переданного вами выражения функции) с именем object, его можно назвать как угодно. Можно даже продолжать использовать имя object, а затем вызывать функцию if (err) object(err), это просто противоречит условию. Кстати, если учитель делает это неоднократно, ему следует сказать об этом.

Bergi 06.06.2018 15:47
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
6
101
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Как указал Берги в комментариях, это, должно быть, ошибка учителя из учебника Lynda.com.

(разрешить, отклонить) имеет смысл и все еще работает, поэтому я закрою этот вопрос и скажу, что ответ Берджиса - это решение.

Другие вопросы по теме