, forkJoin :
getAllTours (cityId) {
return this.af.database
.list(`/cities/${cityId}/tours`)
.mergeMap((tours) => {
return Observable.forkJoin(
tours.map((tour) => this.af.database
.object(`/tours/${tour.$key}/tours`)
.first()
),
(...values) => {
tours.forEach((tour, index) => { tour.tour = values[index]; });
return tours;
}
);
});
}
forkJoin , .
, getAllTours, , , , . - /cities/${cityId}/tours , , /tours/${tour.$key}/tours , . , .
forkJoin , . ( , -, .)
, , , . , getAllTours:
observable = getAllTours(someCityId);
observable.map((tours) => {
tours.forEach((tour) => {
tour.tour = tour.tour.map((value) => {
})
.first();
});
return tours;
});
async .