В Интернете доступно множество ресурсов, позволяющих понять, как с помощью rxjs можно решать такие сценарии.
Обычно вы в конечном итоге используете switchMap
, как это
this.paymentService.getPayment(this.currentUser.uid, this.code)
.pipe(
switchMap(payment => this.gymService.getGym(this.payment.gym))
)
.subscribe(
this.gym = gym;
)
Я специально пропустил звонок valueChanges()
. Я не имею ни малейшего представления о том, что он делает, но в реактивном мире это звучит не совсем правильно.
Это хорошая статья о swichMap
, ранее известном как flatMap
.