如何从后端路由器获取错误消息?

Posted

技术标签:

【中文标题】如何从后端路由器获取错误消息?【英文标题】:How can i get error message from backend router? 【发布时间】:2021-07-29 21:59:29 【问题描述】:

通过 getpost 函数运行 /kakao/getpost 路由器。这时候通过authenticateToken来检查token。如果token过期,执行了if(err)条件语句,/getpost路由器再次收到err,执行if(err)条件语句,我想收到前面的错误信息作为数据。比如 console.log(data)

但如果我使用我的代码

发生了这个错误

可能的未处理承诺拒绝

如何修复我的代码?

这是 ym 代码

            const getpost = async () => 
      
              const data = await axios.post(
                '/kakao/getpost',
                refreshToken: refreshToken, kakaoid: me.id,
                
                  headers: Authorization: `Bearer $kakaoaccesstoken`,
                ,
              );

              console.log('data", data)
            ;




   exports.authenticateToken = (req, res, next) => 
              const authHeader = 
 req.headers["authorization"];

              const token = authHeader && authHeader.split(" ")[1];

              if (token == null) return res.sendStatus(401);

              jwt.verify(token, process.env.ACCESS_TOKEN_SECRET, (err, user) => 
                console.log(err);
                if (err) 
                  console.log("err:::::::::::", err);
                  return res.sendStatus(403);
                  // next(err);
                
                req.user = user;
                next();
              );
            ;




   router.post("/getpost", authenticateToken, async 
   (req, res, next) => 
              try 
                console.log("getpost");
                if (err) 
                
                  return res.status(403).json("err");
                
               catch (error) 
                next(error); // status 500
              
            );

【问题讨论】:

【参考方案1】:

如果条件不返回,尝试抛出。

   router.post("/getpost", authenticateToken, async 
   (req, res, next) => 
              try 
                console.log("getpost");
                if (err)                     
                  throw err;
                
               catch (error) 
                next(error); // status 500
              
            );

【讨论】:

以上是关于如何从后端路由器获取错误消息?的主要内容,如果未能解决你的问题,请参考以下文章

Angular 2 如何从后端读取自定义错误消息

通过在 ReactJs 中循环来路由路径和组件名称

如何使用rxjs从后端api获取头属性?

后端路由正常,但页面空白

反应路由器重定向到主页

前端在 CORS 请求中从后端获取错误 401 - apache/php 配置不足?