2 回答
TA贡献1796条经验 获得超7个赞
const decodedToken = await getUserId(token)
意味着两件事:
getUserId 必须返回一个 Promise。
decodedToken
由本承诺的决议给出。
getUserId = tokenid => { return new Promise(resolve => { jwt.verify(tokenid, '2308199919990823', (err, decodedToken) => resolve(decodedToken)) }) }
TA贡献1799条经验 获得超6个赞
你忘了在你的函数调用中添加一个return...
此外,您拥有的 try catch 块将不起作用,因为您的验证函数是异步的……您需要将其包装在 Promise 中……
module.exports.getUserId = (tokenid) => {
const token = tokenid;
if (token) {
return new Promise((reject, resolve) => {
jwt.verify(token,'2308199919990823', async (err, decodedToken) => {
if(err){
console.log(err);
return null;
} else {
console.log("user id " + decodedToken.id); // Output user id 5f68efb234a7656
return resolve(decodedToken.id);
}
});
});
}
}
添加回答
举报