如何连续发送两个相关的HTTP请求?

How to send two successive related HTTP requests?

提问人:Antonin GAVREL 提问时间:12/10/2022 更新时间:12/10/2022 访问量:16

问:

我找不到如何发送连续的相关请求(例如为了验证电子邮件)

我试图实现的伪代码:

confirmEmail: async (req, res) => {
        const user = req.body;
        console.log(user);
        console.log(`User ${user.email} trying to verify email`);

        [1/ Generating token or code]
        [2/ Sending an email to verify user with token or code]

        return res.status(200).send("verification email sent");
    }

我正在考虑以下方式实现它,以考虑这是第一个或第二个请求(或第三个等):

confirmEmail: async (req, res) => {
        const user = req.body.user;
        console.log(user);
        console.log(`User ${user.email} trying to verify email`);

   if (req.body.step == 2) { // we add a json item "step"
      if req.body.verificationCode = [verificationCode in DB for user.email] {
         [set user as confirmed user]
         return res.status(204).send("You are now verified");
      }
      else
         return res.status(401).send("Wrong verification code");

   }
   else { // step 1

        [1/ Generating token or code and add it to a DB table]
        [2/ Sending an email to verify user with token or code]

        return res.status(200).send("verification email sent");
   }
}

我不认为这是最佳的,所以我想让它利用 node.js 的强大功能顺利运行。函数内部的某种回调逻辑,以避免使用数据库(但回调不带参数?),能够处理第三个请求,并使用验证码在 10 分钟后过期并处理并发连接和用户。

提前非常感谢!

节点.js REST 快速 回调 HTTP请求

评论


答: 暂无答案