Middleware接口声明
export interface Middleware<
_DispatchExt = {}, // TODO: 删除未使用的组件(重大更改)
S = any,
D extends Dispatch = Dispatch
> {
(api: MiddlewareAPI<D, S>): (
next: D
) => (action: D extends Dispatch<infer A> ? A : never) => any
}
中间件是一个高阶函数,它组成一个调度函数以返回一个新的调度函数。 它通常将异步action转变为action(同步),这对于日志记录,执行路由产生的副作用或将异步API调用转换为一系列同步操作很有用。