let sub = this.serviceOne
.getStreets()
.pipe(
mergeMap(streets => {
return from(streets);
}),
mergeMap(street => {
return this.serviceTwo.getMetaData(street.id);
}),
mergeMap(metaDatas => {
return from(metaDatas);
}),
mergeMap(md => {
return this.serviceTwo.getStuff(md.id, md.type, md.name);
}),
map(stuff => {
// do your stuff
})
)
.subscribe();
metaDatas
доступно в двух последних операторах:
let sub = this.serviceOne
.getStreets()
.pipe(
mergeMap(streets => {
return from(streets);
}),
mergeMap(street => {
return this.serviceTwo.getMetaData(street.id);
}),
mergeMap(metaDatas => {
return from(metaDatas).pipe(
mergeMap(md => {
return this.serviceTwo.getStuff(md.id, md.type, md.name);
}),
map(stuff => {
// do your stuff
})
);
})
)
.subscribe();