наблюдаемый редукцией эпос с несколькими фильтрами

Я пишу эпос, используя redux-observable, и пытаюсь написать эпос, используя несколько фильтров (oftype). Ниже приведен мой пример кода

export const landingEpic = action$ => {
    console.log('inside landing epic');
    return action$.ofType('APPLY_SHOPPING_LISTS').map(() => (
        {
            type: 'APPLYING_SHOPPING_LISTS',
        })
    );

    return action$.ofType('APPLIED_SHOPPING_LIST'){
      //here I want to return something else
    }
}

Однако у меня не может быть двух методов возврата в одной эпопее?


person tmp dev    schedule 24.04.2017    source источник


Ответы (2)


Вы захотите объединить их с Observable.merge(), а затем вернуть это - однако я также настоятельно рекомендую разделить их на два отдельных эпоса. Это упростит тестирование, но это, конечно, ваша задача.

export const landingEpic = action$ => {
  return Observable.merge(
    action$.ofType('APPLY_SHOPPING_LISTS')
      .map(() => ({
        type: 'APPLYING_SHOPPING_LISTS',
      }),

    action$.ofType('APPLIED_SHOPPING_LIST')
      .map(() => ({
        type: 'SOMETHING_ELSE',
      }),
  );
}
person jayphelps    schedule 24.04.2017