Я новичок в Observables. Я не уверен, правильно ли я это делаю.
Вот сценарий.
a) Подписаться на параметры маршрута
b) При изменении параметров выполнить сервисный запрос для извлечения наблюдаемых данных
c) Обработать данные
d) Затем сделайте больше запросов об их зависимостях и извлеките их наблюдаемые зависимости.
Моя проблема в том, что после d) я могу получить их наблюдаемые зависимости, но у меня нет сопоставления с обработанными данными, чтобы прикрепить ответы по мере необходимости.
Пример:
this.route.queryParams.pipe(map((params) => {
this.selectedTabIndex = +params['tabIndex'];
return params
})).pipe(switchMap((params) => {
return this.eventService.getEvent(params['eventID']);
})).pipe(map((event) => {
this.event = event;
this.selectedActivities = event.getActivities();
return this.selectedActivities;
})).pipe(mergeMap((activities) => {
return combineLatest(activities.map((activity) => {
return this.eventService.getStreams(this.event.getID(), activity.getID(), ['Latitude', 'Longitude'])
}))
})).pipe(map((activityStreams) => {
// Here is my problem
// As you can see I can get well the streams for the above activities
// But I don't have the activity that the streams belong to to attach them to
debugger
})).subscribe()
Итак, на последнем канале результат выглядит так:
Но какВы можете видеть, что у меня нет ссылки на активность, к которой должен быть присоединен этот потоковый массив в конце.И это то, что я хочу сделать.
Возможно, я все делаю неправильно, поэтому я открыт для обсуждения.