Установить переменную внутри обещания - PullRequest
0 голосов
/ 26 апреля 2020

У меня есть класс с функцией конструктора и функцией 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. Как я могу на самом деле установить эту переменную и иметь его в последний раз?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...