How to return 2 response object in second SwitchMap and consume in subscribe method

Viewed 278
.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.
 
);

First SwitchMap is returning response of service A,which is going in second SwitchMap. In this Subscribe method I need to consume both swithMap responses. How can i achieve that?

Note- Both service response type is diff.

1 Answers

You can nest the pipes:

.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
});
Related