在Redux Observable中,是否只在初始操作完成时调用映射到操作

在Redux Observable中,是否只在初始操作完成时调用映射到操作,redux,rxjs,redux-observable,Redux,Rxjs,Redux Observable,在下面的代码中,“设置颜色范围”操作更新Redux中的一个值,该值是“获取颜色”的有效载荷。因此,我希望在Redux中的值更新后调用FETCH_colors操作 使用mapTo运算符,FETCH_COLOURS操作是否仅在SET_COLOURE_RANGE完成后调用,还是在NOTINCE完成后立即调用 import { selectColoursRange } from 'app/selectors/colours'; export const setColourRangeEpic = act

在下面的代码中,“设置颜色范围”操作更新Redux中的一个值,该值是“获取颜色”的有效载荷。因此,我希望在Redux中的值更新后调用FETCH_colors操作

使用mapTo运算符,FETCH_COLOURS操作是否仅在SET_COLOURE_RANGE完成后调用,还是在NOTINCE完成后立即调用

import { selectColoursRange } from 'app/selectors/colours';

export const setColourRangeEpic = action$ =>
  action$.pipe(ofType('SET_COLOUR_RANGE'), mapTo({ type: 'FETCH_COLOURS' }));

export const fetchColoursEpic = (action$, store) =>
  action$
    .ofType('FETCH_COLOURS')
    .mergeMap(() =>
      fromPromise(
        axios.post(`/colour`, selectColoursRange(store.getState()))
      )
        .map(response => ({
          type: 'FETCH_COLOURS_SUCCESS',
          data: response.data
        }))
        .catch(error =>
          Observable.of({
            type: 'FETCH_COLOURS_ERROR',
            error
          })
        )
    );

减速器总是在epic获得动作之前获得动作


因此,SET_color_RANGE进入reducer(从而更新状态),然后进入setcolorrangeepic并映射到FETCH_colors操作。此FETCH_COLORS操作将转到减速机,然后转到FETCH COLOURSEPIC。当您调用SelectColorsRange(store.getState())时,状态已经更新。

这非常令人困惑。动作本身只是一个未完成的对象<代码>操作$也无法完成,因为这意味着此Redux存储中将不再有操作。所以很难说你想做什么…谢谢你的回复。我编辑了开场白。更清楚了吗?