Надеюсь это поможет!

я есть 3 зависимых ресурса API ресурсов (скажем, наблюдаемые), как это:

1st Observable создает один элемент в виде массива пользователей, например так:

getUsers(): Observable<User[]>
    [
      {
        "id": 1,
        "name": "Peter",
        "surname": "Smith"
      },
      {
        "id": 2,
        "name": "John",
        "surname": "Wayne"
      },
      ...
    ]

2-я наблюдаемая может быть использована для получения адресов, назначенных пользователю, поэтому входным параметром является ID пользователя, и он возвращает один элемент в виде массива адресов:

getUserAddresses(user_id: string): Observable<Address[]>
    [
      {
        "id": 1,
        "city": "London",
        "street": "Wicombe 34"
      },
      {
        "id": 2,
        "city": "Paris",
        "street": "La fever 20"
      },
      ...
    ]

3-я наблюдаемая может использоваться для выбора компаний, назначенных пользователю, поэтому входным параметром является идентификатор пользователя, и он возвращает один элемент в виде массива компаний:

getUserCompanies(user_id: string): Observable<Company[]>
    [
      {
        "id": 1,
        "name": "Fintch CO",
        "state": "France"
      },
      {
        "id": 2,
        "name": "C&C inc.",
        "state": "USA"
      },
      ...
    ]

Я хочу объединить эти 3 наблюдаемые в одну, которая будет производить результат снова как один элемент, который будет содержать массив пользователей с их дополнительными массивами адресов и массивом компаний, как показано ниже:

    [
      {
        "id": 1,
        "name": "Peter",
        "surname": "Smith",
        "addreesses": 
               [
                 {
                   "id": "1",
                   "city": "London",
                   "street": "Wicombe 34"
                 },
                 {
                   "id": "2",
                   "city": "",
                   "street": "La fever 20"
                 }
               ],
        "companies": 
               [
                 {
                   "id": "1",
                   "name": "Fintch CO",
                   "state": "France"
                 },
                 {
                   "id": "2",
                   "name": "C&C inc.",
                   "state": "USA"
                 }
               ]
        }
      },
      {
        "id": 2,
        "name": "John",
        "surname": "Wayne",
        "addresses": [...],
        "companies": [...],
      },
      ...
    ]

Как должен выглядеть составной оператор для достижения этого в Angular 6 с RxJs 6? Большое спасибо за совет.

Ответы на вопрос(3)

Ваш ответ на вопрос