我正在为节点使用广受欢迎的jsonwebtoken
软件包。签名和验证通常是同步执行的,但是还提供了异步选项。
我认为所涉及的操作既不会限制数据,也不会增加计算量,因此不会增加主线程/用户线程的负担。我看不到性能方面的好处。
那么为什么要异步执行这样的操作-有什么好处?
答案 0 :(得分:1)
查看包源代码,异步回调(验证令牌时)的唯一原因似乎是当以异步方式提供私钥/公钥时:
if(typeof secretOrPublicKey === 'function') {
if(!callback) {
return done(new JsonWebTokenError('verify must be called asynchronous if secret or public key is provided as a callback'));
}
getSecret = secretOrPublicKey;
}