Я использую Angular 6 и Firebase в качестве бэкэнда.
Я получаю данные от пользователя и сохраняю их в локальном хранилище, страница входа перенаправляет в профиль пользователя. В полях ничего не отображается, потому что данные поступают поздно. Сделка происходит после загрузки страницы. Я не могу давать обещания тем, что вызов данных производится во время подключения, а не на странице профиля.
SigninComponent.ts
onSubmit() {
const email = this.siginForm.get('email').value;
const password = this.siginForm.get('password').value;
this.authService.signInUser(email, password).then(
() => {
firebase.auth().onAuthStateChanged((user) => {
if (user) {
var ref = firebase.database().ref('users/' + user.uid).on('value',
(data) =>
localStorage.setItem("userInfo", JSON.stringify(data.val()))
);
}
});
this.router.navigate(['Acceuille']);
},
(error) => {
this.errorMessage = error;
}
);
}