为什么这个承诺 JWT.verify 不起作用?
Why this promisified JWT.verify isn't working?
所以我试图手动承诺 jwt.verify 但由于某种原因它没有将 decoded_token 传递给解析函数。
这工作正常...
这不是..
PromisifiedJWTVerify..
有人可以提及此行为的原因吗?
您需要像在 jwt.verify(token, secret, resolve)
上那样使用调用 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
所以我试图手动承诺 jwt.verify 但由于某种原因它没有将 decoded_token 传递给解析函数。
这工作正常...
这不是..
PromisifiedJWTVerify..
您需要像在 jwt.verify(token, secret, resolve)
上那样使用调用 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