提问者:小点点

我希望代码在这里结束。下面的步骤不再继续。我该怎么做呢?


User.findOne({ where: { email: email } })
 .then(user => {
   if(user){
     req.session.errorMessage = 'This e-mail address has already been registered. ';
     req.session.save();
     return res.redirect('/register'); 
}
     return bcrypt.hash(password, 10);
}).then(hashedPassword =>{
            .......
        }).then(() => {
            .......   
        }).then(() => {
            .......
        }).catch(err => console.log(err));
};

[返回res.redirect(“/register”);]如果用户不存在,我希望代码在此结束。下面的步骤将不会继续。

我该怎么做呢?


共1个答案

匿名用户

尝试分解逻辑并命名函数:


User.findOne({ where: { email: email } })
 .then(user => {
   if(user){
     req.session.errorMessage = 'This e-mail address has already been registered.';
     req.session.save();
     return res.redirect('/register'); 
   }
   return saveHashedUser(user, bcrypt.hash(password, 10));
})

function saveHashedUser(user, hashedPassword) {
  return hashedPassword =>{
            .......
        }).then(() => {
            .......   
        }).then(() => {
            .......
        }).catch(err => console.log(err));
}