У меня есть класс с функцией конструктора и функцией ha sh для ха sh определенных переменных. Я использовал обещания, чтобы установить переменную. Вот мой код:
import * as bcrypt from 'bcrypt'
import {Promise} from 'es6-promise';
const saltR: Number = 10;
export default class Hi{
test: String;
constructor(test: String){
this.hash(test)
.then((hash: String) => {
console.log(hash)
this.test= hash
console.log(this.test)
})
.catch(err => console.error(err));
console.log(`seller: ${this.test}`)
}
private hash(toBeHashed: String){
return new Promise((resolve, reject) => {
bcrypt.genSalt(saltR, (err, salt) => {
if(err) reject(err);
bcrypt.hash(toBeHashed, salt, (err, hash: String) => {
if(err) reject(err);
resolve(hash);
});
});
});
}
}
Когда я console.log
, переменная this.test
после моего catch()
говорит: undefined
. Как я могу на самом деле установить эту переменную и иметь его в последний раз?