Я пытаюсь получить данные из своей Firebase с помощью AngularFire2. Я хочу проверить конкретные данные, и после того, как я получу эти данные из Firebase, я могу проверить его только в определенной области, а не после операции с Firebase. Почему это происходит?Данные доступа AngularFire2 после извлечения
Ниже мой код:
this.af.database.list('/users/1qfcMAQnglX9jsW5GdLpPko1HqE2', { preserveSnapshot: true})
.subscribe(snapshots=>{
snapshots.forEach(snapshot => {
if(snapshot.key=="reg_boolean"){
console.log(snapshot.val());
this.bo=snapshot.val();
}
this.currentUser.push({key:snapshot.key,value:snapshot.val()});
console.log(this.currentUser);
//console.log(snapshot.key, snapshot.val());
if(this.bo==true){console.log("happy"); }; //i can access only in this scope
});
})
if(this.bo==true){console.log("happy"); }; //why i can access this value??it's undefined, this happen before the subscribe with angularfire2
ответ Виктора объясняет, но я также направить вас на эти вопросы ссылочных: [? Как вернуть ответ от асинхронного вызова] (http://stackoverflow.com/q/14220321 /), [Переменные, установленные во время функции $ .getJSON, доступны только внутри функции] (http://stackoverflow.com/q/1739800) и [jQuery: возвращать данные после успешного успеха ajax] (http://stackoverflow.com/1/5316697). –