Не удается прочитать параметры запроса из обещания

Я пытаюсь прочитать параметры запроса из URL-адреса в Angular следующим образом:

export class QueryParameterReader implements OnInit {
  constructor(private currentActiveRoute: ActivatedRoute) {}

  ngOnInit() {
    this.currentActiveRoute.queryParams.subscribe((queryParams: Params) => {
      console.log("Recieved query parameters: " + queryParams['userid']);
    });
  }
}

Но как только я пытаюсь сделать это через промис, происходит сбой (обработчик then никогда не срабатывает):

export class QueryParameterReader implements OnInit {
  constructor(private currentActiveRoute: ActivatedRoute) {}

  ngOnInit() {
    this.currentActiveRoute.queryParams.toPromise().then((queryParams: Params) => {
      console.log("Recieved query parameters: " + queryParams['userid']);
    });
  }
}

Любая идея, почему это может происходить? Мне кажется, что я должен делать это вторым способом, потому что я хочу прочитать параметры запроса только один раз; нет смысла постоянно держать Observable открытым.


comment
Да, ответ на повторяющееся перенаправление решил мою проблему. Хотя из-за рефакторинга, который они недавно сделали с operators в RxJS, синтаксис немного изменился.   -  person shinvu    schedule 14.11.2018
comment
Оператор импорта становится import {first} from "rxjs/operators", а бит toPromise() становится this.currentActivateRoute.queryParams.pipe(first()).toPromise().then().   -  person shinvu    schedule 14.11.2018