当前位置: 首页 > 知识库问答 >
问题:

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

邹誉
2023-03-14
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个答案

淳于乐池
2023-03-14

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

js prettyprint-override">
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));
}

 类似资料:
  • 我看到过许多关于堆栈溢出问题的答案,这些问题涉及使用Pandas方法。我也看到用户在他们下面评论说“速度慢,应该避免”。 如果是如此糟糕,那么为什么它会出现在API中? 如何和何时使我的代码免费? 是否有任何情况下是好的(优于其他可能的解决方案)?

  • 革命不彻底,等于彻底不革命。今天我再继续讲一下我在北京百望股份/百望云的转正经历,大家可以提前看一下我写的动态,传送门:https://www.nowcoder.com/share/jump/637986124157629644      我是今年春招通过BOSS直聘平台得到面试机会的,岗位是Java后端开发。我讲一下面试的经历吧,首先我是经历了两轮面试。第一面就是常规技术面试,问的问题都是Jav

  • 我想使它从“游戏26”类到“游戏39”类,如果用户经历了从“游戏17”类到“游戏18”类。但如果用户没有通过,要使从“Game26”类到“Game30”类。

  • 我使用assertJ,在我的测试用例中有多个assertThat断言。当第一个断言失败时,测试就完成了,但我不希望这样。我想知道测试用例单次执行后所有失败断言的信息。有什么办法可以做到吗?我在这里找到了SoftAssertions的解决方案->http://joel-costigliola.github.io/assertj/assertj-core-features-highlight.html

  • 问题内容: 我有一个树结构,其中每个都有一个父级和一个。每个节点都有一个,我想在其中选择进行查询,即该节点和所有父节点的标题。如何编写此查询? 单个标题的查询就是这样,但是就像我说的那样,我希望它扩展到整个父母分支。 干杯 尼克 问题答案: 您不能使用HQL进行递归查询。看到这个。如前所述,它甚至不是标准的SQL。您有两种选择: 编写特定于供应商的递归本机SQL查询 进行多个查询。例如: 我肯定会

  • 在进行下一步之前,我想从我的on完成函数中得到一个布尔值。 我的问题是,当代码到达布尔值(isLoginSucces)对代码至关重要的部分时,它会得到唯一的假值,因为onComplete函数没有到达更改布尔值的点。 我尝试了异步函数,但它不起作用,也尝试了原子布尔,也不起作用。 在那之后,我把线放平了。睡眠(10000)。在这段时间(10秒)内,它肯定改变了值,但不要工作太多,仍然是错误的,我不明