Попробуйте преобразовать обратный вызов bcrypt.ha sh в обещание - PullRequest
0 голосов
/ 19 июня 2020

Чтобы попрактиковаться в JS, я пытаюсь написать тот же код, используя обратный вызов и обещание.

const bcrypt = require('bcrypt');
const saltRounds = 10;
const myPlaintextPassword = 'secret';
  1. Версия обратного вызова
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));

Вопрос: «идентичны» ли эти фрагменты (под капотом)?

Спасибо за вашу помощь.

...