JSFiddle - React, Tailwind, and code Playground
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/rxjs/5.4.0/Rx.js"></script>
JavaScript
const Observable = Rx.Observable;
Observable.of({payload: {id: 'someUserId', accountIds: [1,2,3,4]}})
.pluck('payload')
.switchMap(user =>
Observable.from(user.accountIds)
.concatMap(accountId => fetch(`/accounts/${accountId}`, {id: accountId, userIds: [user.id]}))
.concat(Observable.defer(() => fetch(`/users/${user.id}`, user)))
)
.subscribe(console.log);