当我需要在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的时间安排无关紧要。
由于这是我的第一个问题,请在下一个问题中让我知道我能做得更好。
谢谢你, 斯特芬
答案 0 :(得分:1)
您可以使用合并运算符来组合其他可观察对象
this.route.paramMap
.switchMap((params: ParamMap) =>
Rx.Observable.merge(service1(params.get('id'), service2(params.get('id'))
)