这是因为 bcrypt 是一个异步函数,返回一个 promise。需要使用await 关键字等待异步操作完成后再返回结果。以下是一个示例:
const bcrypt = require('bcrypt');
async function hashPassword(password) {
try {
const saltRounds = 10;
const hashedPassword = await bcrypt.hash(password, saltRounds);
console.log(hashedPassword);
// 处理哈希后的密码,例如保存到数据库中
} catch (error) {
console.log(error);
}
}
在此示例中,该函数使用异步/等待语法等待哈希操作完成,因此可以在处理完哈希密码后返回正确的结果。