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

问题描述 投票:0回答:1

当我需要在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的时间是无关紧要的。

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

谢谢你,斯蒂芬

angular rxjs angular2-observables angular-router switchmap
1个回答
1
投票

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

this.route.paramMap
.switchMap((params: ParamMap) =>
    Rx.Observable.merge(service1(params.get('id'), service2(params.get('id'))
)
© www.soinside.com 2019 - 2024. All rights reserved.