У меня есть два микросервиса (Пользователи и Платежи), я хочу получать пользователей с их платежами. Итак, сначала я выбираю пользователей из Микросервиса пользователей (GET / users /):
[{userId: 1, name: 'john', ...}, {userId: 2, name: 'mark', ...}, {userId: 3, name: 'bob', ...}]
Затем я хочу получить платежи для каждого пользователя. Мне нужно отправить запрос в микросервис платежей (GET / payment / userId)
Ожидаемый результат .-
[
{userId: 1, name: 'john', ..., payments: [1,2,3]},
{userId: 2, name: 'mark', ..., payments: [2,3,4]},
{userId: 3, name: 'bob', ..., payments: [3,4,5]}
]
У меня есть этот код для получения пользователей.
const fetchUsersEpic = action$ =>
action$.ofType(FETCH_USERS).flatMap(action =>
Observable.concat(
Observable.of(actions.loading(true)),
Observable.fromPromise(usersService.getUsers())
.flatMap(response =>
//I need to fetch payments for each user first
Observable.concat(
Observable.of(actions.loading(false)),
Observable.of(actions.fetchUsersFulfilled(response)),
))
.catch(error => Observable.of(actions.loading(false))),
));