Проблема в том, что вы не используете arrow function
. Использование функции commom в обратном вызове не предоставит доступ к переменным вне ее, вам нужно и arrow function
в вашем обратном вызове. Также вам нужно использовать this
, чтобы иметь доступ к свойству dd
вашего класса
getData(){
this.dbHelpr.getRecordById("51").then((res:any) => {
console.log("dd in " + this.dd); // prints undefined
this.dd = res;
console.log("dd out " + this.dd); // prints the value
});
}
Также есть то, что VicJordan сказал об асинхронности, поскольку второй console.log
находится вне его, он вызывался раньше, и поскольку ваше свойство dd
не инициализируется ни с каким значением, оно будет undefined
.
Надеюсь, это поможет.