Я новичок в использовании операторов Rx Js, и у меня есть потребность в методе, который вызывает 5 наблюдаемых из службы и должен получать данные из службы только после завершения первого наблюдаемого, затем объединить все наблюдаемые и преобразовать в новую наблюдаемую и вернуть новую наблюдаемую с помощью функции. Приведенный ниже код иллюстрирует сценарий.
GetAllDetails(): Observable<AllDetails> {
const user = this.service.getUser() // Observable<User>
const firstDetails = this.service.getFirstDetail() // returns Observable<FirstDetail>
const secondDetails = this.service.getSecondDetail() // returns Observable<SecondDetail>
const thirdDetails = this.service.getThirdDetail() // returns Observable<ThirdDetail>
const fourthDetails = this.service.getFourthDetail() // returns Observable<FourthDetail>
// need to return a value that something compatible with Observable<AllDetails>
// so the logic should check if user info available then do combining all observable values and
// return as new observable
return of(new AllDetails(first, second, third, fourth)
}
Я пробовал использовать CombineLatest и switchMap, но не могу этого добиться после завершения первого наблюдаемого завершения. Спасибо, если кто-нибудь может мне помочь в этом.