javascript - 解决 Promise <pending>

标签 javascript async-await es6-promise

我正在创建一个简单的辅助函数,它使用bcrypt返回给定密码的哈希值。但每次我调用该函数时,它都会解析为 Promises { <pending> }我做错了什么?

const saltPassword = async (password) => {
    const newHash = await bcrypt.hash(password, saltRounds, (err, hash) => {
        if (err) return err;
        return hash;
    });
    return await newHash;
}

干杯

最佳答案

你应该做这样的事情

const saltPassword = async (password) => {
  const newHash = await bcrypt.hash(password, saltRounds, (err, hash) => {
    if (err) return err;
    return hash;
  });
  return newHash; // no need to await here
}

// Usage
const pwd = await saltPassword;

关于javascript - 解决 Promise <pending>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46625005/

相关文章:

javascript - React 中的受控选择未设置 defaultValue

javascript - 在 javascript 中加载 <div>

python - 使用 contextvar 跟踪 Python 中的异步循环

javascript - 声明为异步的方法的正确语法是什么?

javascript - Promise.all() 决定为每个 Promise 赋予相同的值

javascript - AngularJS 指令要求父指令不起作用

javascript - 默认情况下尝试使用 state react es6 隐藏 <p> 标签

c# - 为异步代码选择 Task 或 void 方法

javascript - Express 中间件、next 和 Promises

javascript - RXJS6 - 从返回 Observable 的 Promise 函数返回 Observable?