node.js - 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 仅在异步函数中有效。 我如何使用异步功能?
解决方案
您必须使用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");
- 更新了答案以使其更详细
推荐阅读
- amazon-web-services - AWS Elastic Beanstalk - Java 平台和 Tomcat 平台有什么区别?
- python - Python 多处理文件读取
- javascript - 将拆分时间范围内的错误日期返回为周数组
- c++ - 如何避免模棱两可的模板实例化?
- typescript - 遍历对象键中的数组属性
- sql - 如何将多行字符串连接成一行?
- flutter - `getMinIntrinsicWidth` 真的那么贵吗?
- python - Pandas:根据来自另一个数据集的匹配列插入列
- python - 如何在 tkinter 中动态更改标签的图像?
- javascript - 在 API 调用之前进行 React 渲染