无法从Promise读取查询参数

时间:2018-11-14 13:01:07

标签: angular angular-promise query-parameters angular-observable angular-activatedroute

我试图像这样从Angular中的URL读取查询参数:

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

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

但是,一旦我尝试通过Promise进行操作,它就会失败(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处于打开状态是没有意义的。

0 个答案:

没有答案