首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在node.js中跳出循环?

如何在node.js中跳出循环?
EN

Stack Overflow用户
提问于 2018-05-23 20:55:15
回答 1查看 110关注 0票数 0

我用node.js编写了这段代码,以验证来自一个json用户的用户名和密码。问题是它一直循环遍历所有用户,尽管已经找到了一个有效的用户。如何在找到有效用户时中断循环?

代码语言:javascript
复制
users.forEach(function (user) {
          if(req.body.username==user.username){
              if(req.body.password==user.password){
                    console.log('validate success');
                    res.status(200).send({message:'user validation successful'});
              }
          }
          else{
               console.log('validate failed');
               res.status(404).send({message:'user validation failed'});
          }
});
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-23 21:00:07

您想要的是对与用户名匹配的用户执行find操作,如果找到了,请检查密码。这样,您还可以提供正确的错误消息来告诉用户错误所在(用户名或密码)

代码语言:javascript
复制
const user = users.find(function (user) {
  return user.username === req.body.username
})

if (!user) {
  return res.status(404).send({ message: 'User not found' })
}

if (user.password !== req.body.password) {
  return res.status(404).send({ message: 'Wrong pasword' })
}

// everything is alright
return res.status(200).send({message:'user validation successful'})

您可以使用arrow function来缩短查找时间

代码语言:javascript
复制
const user = users.find(u => (u.username === req.body.username))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50488993

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档