Чтобы попрактиковаться в JS, я пытаюсь написать тот же код, используя обратный вызов и обещание.
const bcrypt = require('bcrypt');
const saltRounds = 10;
const myPlaintextPassword = 'secret';
- Версия обратного вызова
function hashPassword(password, callback) {
bcrypt.hash(password, saltRounds, function(err, hash) {
if (err) {
return callback(err); // EDIT
}
return callback(null, hash); // EDIT
});
}
hashPassword(myPlaintextPassword, (err, hash) => {
if (err) {
return console.log(err);
}
return console.log(hash);
})
Версия обещания
async function hashPassword(password) {
return await bcrypt.hash(password, saltRounds);
}
hashPassword(myPlaintextPassword)
.then(res => console.log("result :", res))
.catch(err => console.log("error :", err));
Вопрос: «идентичны» ли эти фрагменты (под капотом)?
Спасибо за вашу помощь.