node.js - 我希望代码到此结束。以下步骤不再继续。我该怎么做?
问题描述
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));
};
[return 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));
}
推荐阅读
- java - 如何使用流为 hashmap 实现 isEmpty()?
- loops - Ansible:遍历字典列表 - 循环与 with_items
- django - 图片不在 django 中提供
- c# - Web (ASP.Net) Wcf:未找到从桌面客户端连接时出错
- python - Pandas 基于 2 列删除重复项,有时会颠倒
- php - 有没有办法使用 PHP 表单循环浏览数据库中的多个记录?
- java - 我是否正确使用了 Scanner 和 File 类?
- reactjs - 如何将数据传递给功能组件?
- javascript - 使用点击生物创建团队页面
- html - 有没有办法让子 div 的背景扩展到父 div 之外?