我使用的是非常流行的jsonwebtoken
包节点。签名和验证通常进行同步,但也提供了异步选项。
我认为,所涉及的操作既不是数据绑定,也不计算昂贵,所以没有负担的主要/用户线程的风险。我没有看到一个PERF好处。
那么,为什么这样的操作异步执行 - 是什么好处?
纵观包源代码的唯一原因异步回调(验证令牌时),似乎在秘密/公共密钥以异步方式被设置为:
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;
}