У меня есть функция входа в систему, и я вижу, что большинство проблем, подобных моей, касаются подписки и ожидания, но я подумал, что поместил необходимый код в подписку.Мои страницы меню / панели инструментов, кажется, вызываются (ngOninit), прежде чем подписка возвращается.
Вот код:
this.authService.login(this.user).then( (rval) => {
console.log('Logged in so getting up to date user data');
this.userService.getUserServer().subscribe (res => {
this.user = res;
this.userService.saveUserStore(this.user);
console.log('Navigating to Dashboard from Login Page');
console.log(this.user);
this.router.navigate(['menu' , 'dashboard']); <--Gets to the nav before the subscribe returns?
},
error => {
});
},
error => {
console.log('At error =');
console.log(error);
return this.helper.showAlert(error);
});
Я пробовал несколько вариантов, используя async, также ожидайте, так какУ меня была похожая, но другая проблема, но я не пользовался подпиской.Я обнаружил, что он всегда доходит до кода навигации, который не готов, потому что данные не вернулись тогда ...
Чего мне не хватает?Приветствия
РЕДАКТИРОВАТЬ Хорошо ... Я думаю, что, возможно, неправильно понял, когда вызывается ngOninit - я думал, что onInit будет вызываться при первой навигации к ... Я недумаю, что это так.(не уверен?) ... Мне все еще нужно выяснить, как сделать информацию о пользователях доступной на страницах, хотя любые советы приветствуются.