Я пытаюсь вернуть два отдельных значения из эпоса с учетом единого источника $ action. Однако - кажется, я могу сделать это, только явно подписавшись на внутренний Observable. Моя эпопея сейчас выглядит так:
export const orderItemEpic = action$ =>
action$.ofType(ORDER_ITEM)
.switchMap(action => Observable.of(
api.createOrder(action.payload.order),
api.updateItem(action.payload.item, action.payload.item._id)
))
.map(val => console.log('Outer Observable', val));
Однако это только испускает обещание первого запроса api (хотя оба вызываются)
Единственный способ получить два значения одновременно - это явно подписаться на внутренний Observable. Вот так:
export const orderItemEpic = action$ =>
action$.ofType(ORDER_ITEM)
.switchMap(action => Observable.of(
api.createOrder(action.payload.order),
api.updateItem(action.payload.item, action.payload.item._id)
).map(val => val).subscribe(v => console.log('Inner Observable', v))
.map(val => console.log('Outer Observable', val)); //never gets called
Но теперь моя «Внешняя» наблюдаемая не отображается.
Когда я издеваюсь над этим с помощью JSBin, кажется, что первый пример должен выдавать ответ от обоих вызовов api. http://jsbin.com/cejolegixo/edit?js,console
Думаю, мне просто интересно, это какая-то причуда в redux-observable или я что-то делаю неправильно.
Спасибо