首页 > 解决方案 > SyntaxError: await 仅在带有 argon2 的异步函数中有效

问题描述

我在我的密码应用程序中实现了 argon2

try {
  if (await argon2.verify("<big long hash>", "password")) {
    // password match
  } else {
    // password did not match
  }
} catch (err) {
  // internal failure
}

但是得到一个错误SyntaxError: await 仅在异步函数中有效。 我如何使用异步功能?

标签: node.jsnpmvisual-studio-codeargon2-ffi

解决方案


您必须使用async关键字声明一个异步函数:

const myAsyncFunc = async (hashKey, password) => { //<-- declare as an async function
  try {
    if (await argon2.verify(hashKey, password)) {
      // password match
    } else {
      // password did not match
    }
  } catch (err) {
    // internal failure
  }
}

myAsyncFunc("<big long hash>", "password");
  • 更新了答案以使其更详细

推荐阅读