Вернуть многократную информацию из углового распознавателя маршрута - PullRequest
0 голосов
/ 22 мая 2018

У меня проблема с возвратом распознавателя в моем приложении.

По сути, это мой распознаватель:

constructor(private authService: AuthService) { }
  resolve() {
    /*
    this.authService.token; // (property) PeAuthService.authorizationHeader: string
    this.authService.getUserInfo(); // (method) PeAuthService.getUserInfos(): Observable<any>
    */
    return {
      token: this.authService.token,
      userInfo: this.authService.getUserInfo()
    };
  }

Я не чувствую, что делаюправильный путь, потому что я могу получить доступ к значению токена, но не к userInfo.

Есть ли способ вернуть одну наблюдаемую информацию, содержащую данные userinfo и токен?Так может быть объединение наблюдаемой и строки в одну наблюдаемую?

Ответы [ 2 ]

0 голосов
/ 22 мая 2018

Более "Rx" способ получит getUserInfo(), а затем объединит его с this.authService.token с помощью оператора map():

this.authService.getUserInfo()
  .pipe(
    map(userInfo => ({
      userInfo,
      token: this.authService.token,
    }))
  );
0 голосов
/ 22 мая 2018

Не ожидая значения, свойство userInfo возвращаемого объекта содержит Observable.Поэтому просто используйте async и await:

async resolve() {
  return {
    token: this.authService.token,
    userInfo: await this.authService.getUserInfo()
  };
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...