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”);]如果用户不存在,我希望代码在此结束。下面的步骤将不会继续。
我该怎么做呢?
尝试分解逻辑并命名函数:
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));
}