解决功能等待

时间:2019-05-31 10:20:54

标签: javascript node.js async-await

我正在尝试使用await为异步方法获取有效的jwt令牌。 如何解决函数中的isisValid?

  module.exports.resolveAfter2Seconds =  async function resolveAfter2Seconds(jwt) {
       const cert = fs.readFileSync(__dirname + ‘/...’);  // get public key
       let a =  await isValid(jwt, cert)
    };

    async function isValid(jwt, cert) {
       return jwtWebToken.verify(jwt, cert, function (err, decoded) {
           console.log(decoded);
           if (! decoded) {
               throw new Error(“error”);
           }

           return decoded;
       })
    }

1 个答案:

答案 0 :(得分:4)

尝试以下代码。

function isValid(jwt, cert) {
  return new Promise(function(resolve) {
    jwtWebToken.verify(jwt, cert, function (err, decoded) {
      if (! decoded) {
          throw new Error(“error”);
      }

      resolve(decoded)
    })
  });
}