【发布时间】:2021-11-29 14:42:06
【问题描述】:
所以我试图手动承诺 jwt.verify 但由于某种原因它没有将 decoded_token 传递给 resolve 函数。
【问题讨论】:
-
请将您的代码作为文本添加到您的问题中(并注意code formatting)。还有many good reasons,为什么代码图片不是个好主意。
所以我试图手动承诺 jwt.verify 但由于某种原因它没有将 decoded_token 传递给 resolve 函数。
【问题讨论】:
您需要像在jwt.verify(token, secret, resolve) 上那样使用invoke resolve(),当您只执行resolve 时,您不是在调用它,而是在引用它。
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise
编辑:把我的答案搞砸了,我认为应该是这样的
jwt.verify(token, secret, (err, data) => {
if (err) return reject(err);
return resolve(data);
});
这是因为回调中传递的第一个参数是错误,您不想将其放入resolve,而是放入reject,而第二个参数是实际数据,以防您实际这样做想要resolve
https://www.npmjs.com/package/jsonwebtoken#jwtverifytoken-secretorpublickey-options-callback
【讨论】: