ждать машинопись / Angular .subscribe - PullRequest
0 голосов
/ 01 июля 2019

У меня есть функция входа в систему, и я вижу, что большинство проблем, подобных моей, касаются подписки и ожидания, но я подумал, что поместил необходимый код в подписку.Мои страницы меню / панели инструментов, кажется, вызываются (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 будет вызываться при первой навигации к ... Я недумаю, что это так.(не уверен?) ... Мне все еще нужно выяснить, как сделать информацию о пользователях доступной на страницах, хотя любые советы приветствуются.

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