Мое требование - чтобы пользователи переключали учетные записи при переходе по определенной ссылке.Чтобы полностью переключить учетные записи, мне нужно вызвать две холодные наблюдаемые http и затем загрузить данные.Порядок имеет значение для всех трех запросов.
- Первый switchAccount $
- Второй updateSession $
Затем мне просто нужно получить pageData $ Cold Observable,В настоящее время я использую распознаватель, но мне трудно структурировать это с помощью rxjs.Я забочусь только об окончательных данных страницы в моем компоненте, но мне просто нужно убедиться, что пользователь переключает учетные записи и сеанс обновляется, или вызов API бэкэнда не сможет получить данные страницы.
Я пыталсявыполните следующее, но оно не работает:
resolve(route): Observable<any> {
const switchAccount$ = this.userService.switch('account2').pipe(last());
const updateSession$ = this.userService.updateSesh();
const pageData$ = this.pageService.getData();
const switchAndUpdate$ = updateSession$.pipe(skipUntil(switchAccount$));
return pageData$.pipe(skipUntil(switchAndUpdate$.pipe(last()); // problem is that switch account and page data get cancelled somehow??
}