ActiveRoute的结果需要两个独立的后续查询

时间:2017-12-28 00:25:15

标签: angular rxjs angular2-observables angular-router switchmap

当我需要在Observable上使用switchMap两次(独立查询)时,最佳做法是什么。我需要从activeRoute.ParamMap返回的Id ...用于两个独立的查询。对于一个查询,我会执行以下操作:

this.route.paramMap
.switchMap((params: ParamMap) =>
  this.service.getSomeInformation(params.get('id')));

现在我需要从路由返回的Id以进行另一次查询

this.route.paramMap
.switchMap((params: ParamMap) =>
  this.AnotherService.getSomeMoreInformation(params.get('id')));

所以我需要从paramMap中提取的Id作为服务和另一个服务的输入。

最佳做法是什么?只是链接他们?来自Service和AnotherService的Observables的时间安排无关紧要。

由于这是我的第一个问题,请在下一个问题中让我知道我能做得更好。

谢谢你, 斯特芬

1 个答案:

答案 0 :(得分:1)

您可以使用合并运算符来组合其他可观察对象

this.route.paramMap
.switchMap((params: ParamMap) =>
    Rx.Observable.merge(service1(params.get('id'), service2(params.get('id'))
)