在 redux-observable 中,我如何控制减速器或史诗是否首先对动作做出反应?

Leo*_*ang 3 redux redux-observable

例如,对于某些动作,我希望减速器在史诗之前处理它。反之亦然。有没有办法做到这一点?

mar*_*son 5

据我所知,您无法修改它 - 减速器将始终首先运行。redux-observable相关部分是:

  return action => {
    const result = next(action);
    input$.next(action);
    return result;
  };
Run Code Online (Sandbox Code Playgroud)

中间件总是首先将操作传递给管道中的下一个中间件,从而使其到达减速器。只有在返回之后,它才会将动作融入史诗。Redux-Saga 做同样的事情。

  • 除此之外,[指定](https://redux-observable.js.org/docs/basics/Epics.html) 史诗 * 在 * 减速器之后运行: *“史诗与正常的 Redux 调度通道一起运行,在减速器已经收到它们之后[...]"*。 (3认同)