我有两个服务,第一个服务中的数据用于从第二个服务中检索数据。我无法从用于从第二个服务获取数据的第一个服务获取的数据访问特定值。 Angular不喜欢“ firstserviceResultsJson.indSsn”。但是,我需要将该数据发送到第二个服务。有什么想法如何将数据从第一服务转换为第二服务吗?
this.firstService(query).pipe(
.firstServiceMethod(query).pipe(
concatMap(firstServiceResultsJson => this.secondService.secondServiceMethod(firstServiceResultsJson.specificParameter))
)
.subscribe(combinedResults => (this.finalResultsToSendToView = combinedResults ));
答案 0 :(得分:0)
请确保firstServiceMethod
返回正确的对象,以便您可以访问结果的属性。然后,将concatMap
与resultSelector一起使用,以输出外部和内部可观察值的结果。示例:
this.firstService
.firstServiceMethod(query)
.pipe(
concatMap(
firstServiceResultsJson =>
this.secondService.secondServiceMethod(firstServiceResultsJson.specificParameter),
(outer, inner) => [outer, inner]
)
)
.subscribe(
combinedResults => (this.finalResultsToSendToView = combinedResults)
);