ReferenceError: имя не определено - PullRequest
0 голосов
/ 28 июня 2019

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

контроллер: (ОШИБКА НА ЛИНИИ 10):

//Tried to declare like "function registraU(nome, ... ())
    const registraUsuario = (nome, email, password, (e, usuarioCriado) => {
        UsuarioModel.findOne({ email: email }, (e, match) => {
          if (e) { return callback(e); }

          if (match !== null) {  
              return callback(null, null);
            } else {
                var hash = bcrypt.hashSync(password, 10);
                password = hash;
                novoUsuario = {
                    nome: nome,
                    email: email,
                    password: password
                }

                var temp = new UsuarioModel(novoUsuario);

                temp.save(function(e, usuarioCriado){
                    if(e){console.log(e)};

                    return callback(null, usuarioCriado);
                });
            }
        });
    });

И вот код, который его вызывает:

passport.use('local-registro', new LocalStrategy({
     nomeField: 'nome',
     emailField: 'email',
     passwordField: 'password',
     passReqToCallback : true 
   },
     (req, nome, email, password, done) => {

      UsuarioController.registraUsuario(nome, email, password, (e, callback) => {
        if(e) {return done(e); }

        if(!novoUsuario){
          return done(null, false, req.flash({"erroRegistro": "Email já cadastrado"}));
        } else {
          return done(null, novoUsuario);
        }
      });
     }
  ));

enter image description here

1 Ответ

1 голос
/ 28 июня 2019

Вы объявляете что-то вроде функции стрелки es6, но вы забыли добавить тело функции ...

const registraUsuario = (nome, email, password, (e, usuarioCriado) => {...});

Но где остальные из вас функционируют телом?

const registraUsuario = (nome, email, password, (e, usuarioCriado) => {...}) => {
   // your function body
}

Вот почему ваш код не работает ... Он не интерпретируется как объявление функции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...