Пакет bcrypt имеет синхронные эквиваленты используемым функциям, см. пример . Если вы все еще хотите использовать асинхронные версии, вам нужно будет вернуть Promise
, который вы можете затем await
например,
function hashPassword(password) {
return new Promise((resolve, reject) => {
bcrypt.genSalt(10, (error, salt) => {
if (error) return reject(error);
bcrypt.hash(
password,
salt,
(error, hash) => err ? reject(err) : resolve(hash)
);
});
});
}
...
let hashed = await hashPassword(password);
В терминах экспорта таким образом, что потребитель просто вызываетфункция, если используется ES6 или новее
export default function hashPassword(password) {
...
}
В противном случае
function hashPassword(password) {
...
}
module.exports = hashPassword