如何在第二个 SwitchMap 中 return 2 响应对象并在订阅方法中使用
How to return 2 response object in second SwitchMap and consume in subscribe method
.pipe(
switchMap(x => { return this.clientService.A(); }),
filter(firstResp => Helpers.IsNotNull(firstResp)),
switchMap(firstRep => { return this.clientService.B(firstResp.someProp); }),
).subscribe(
//Want to access response of both services in subscribe method.
);
第一个 SwitchMap 正在返回服务 A 的响应,这将在第二个 SwitchMap 中进行。在此 Subscribe 方法中,我需要使用两个 swithMap 响应。我怎样才能做到这一点?
注意-两种服务响应类型不同
您可以嵌套管道:
.pipe(
switchMap(x => this.clientService.A()),
filter(firstResp => Helpers.IsNotNull(firstResp)),
switchMap(firstRep => this.clientService.B(firstResp.someProp)
.pipe(map(b => [firstRep, b]))),
).subscribe(([a, b]) => {
// stuff
});
.pipe(
switchMap(x => { return this.clientService.A(); }),
filter(firstResp => Helpers.IsNotNull(firstResp)),
switchMap(firstRep => { return this.clientService.B(firstResp.someProp); }),
).subscribe(
//Want to access response of both services in subscribe method.
);
第一个 SwitchMap 正在返回服务 A 的响应,这将在第二个 SwitchMap 中进行。在此 Subscribe 方法中,我需要使用两个 swithMap 响应。我怎样才能做到这一点?
注意-两种服务响应类型不同
您可以嵌套管道:
.pipe(
switchMap(x => this.clientService.A()),
filter(firstResp => Helpers.IsNotNull(firstResp)),
switchMap(firstRep => this.clientService.B(firstResp.someProp)
.pipe(map(b => [firstRep, b]))),
).subscribe(([a, b]) => {
// stuff
});