如何从后端路由器获取错误消息?
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
);
【讨论】:
以上是关于如何从后端路由器获取错误消息?的主要内容,如果未能解决你的问题,请参考以下文章