Redux中间件设计re:返回值

maa*_*bmb 7 javascript middleware redux redux-promise

因此,我刚刚阅读了Redux中间件,听起来很棒。有一件事正在困扰我-中间件的返回值。

据我了解,中间件回报的东西(即某些情况下redux-promise我),并获得其他中间件(即logging)不- ,只是返回的结果next(action)

我的问题是,如果我想使用两个都返回内容的中间件,那将会发生什么-当然,它们会互相破坏,而我只会得到最外部中间件的返回值。

express/connect中间件这个地址通过让中间件写入其“成果”的reqres对象,但什么与终极版的解决方案?

编辑

这是我的问题的一个更具体的例子:

我有两个中间件:

  1. 延迟3秒分派所有动作的中间件。该中间件返回一个可以调用以取消调度的函数
  2. 返回数字5的中间件,因为出于某种原因我需要数字5。

根据我链接中间件的这两个位的顺序,我的结果dispatch(action)将是延迟取消fn或数字5。但是如何获得这两个结果?

Yo *_*ita 3

看一下 上的文档applyMiddleware。它解释了中间件应被编写为可组合的,以便可以将其插入中间件链中,而不必担心在其之前和之后应用的中间件:

中间件的关键特征是它是可组合的。多个中间件可以组合在一起,其中每个中间件不需要知道链中它之前或之后的内容。

该文档很好地解释了要传递到中间件的参数和预期返回。

https://redux.js.org/api/applyMiddleware