Ошибка здесь, потому что cb
не было передано функции.Он должен быть предоставлен, а затем результат должен быть передан функции, которая зависит от него, verifyEmail
:
emailExists(result => {
// depends on how verifyEmail works
verifyEmail(result);
});
Ошибки также должны обрабатываться.Могут быть проблемы, потому что req
и next
могут быть недоступны в объеме emailExists
(их предпочтительно не должно быть).
Во-первых, обратные вызовы не нужны.Mongoose поддерживает обещания, а API на основе обратного вызова является устаревшим.
Оно должно быть:
var emailExists = function(email ) {
return User.findOne({ email })
.then(existingUser => !!existingUser);
}
И может использоваться с ошибками, которые постоянно обрабатываются:
emailExists(req.body.email)
.then(result => {
// depends on how verifyEmail works
verifyEmail(result);
})
.catch(err => {
next(err);
});