Мне нравится использовать синтаксис asyn c -aait для обработки обещаний. Это менее запутанно. и дает возможность быстро понять чужой код.
Вы можете сделать свою функцию асинхронной c. дождитесь пока bcrypt выполнит свою работу
const password = await bcrypt.hash(password, saltSecret);
Однако библиотека bcrypt предоставляет функцию для сравнения пароля и га sh
const valid = await bcrypt.compare(password, hashed_pass);
попробуйте это
async function(resolve, reject) {
console.log('hi4')
console.log(this.saltSecret);
console.log(password);
const hashed_pass = await bcrypt.hash(password, saltSecret);
console.log('hash', hashed_pass);
const valid = await bcrypt.compare(password, hashed_pass);
if(valid){
console.log('GOOD');
}
};