middleware.ts - 图1

Middleware接口声明

  1. export interface Middleware<
  2. _DispatchExt = {}, // TODO: 删除未使用的组件(重大更改)
  3. S = any,
  4. D extends Dispatch = Dispatch
  5. > {
  6. (api: MiddlewareAPI<D, S>): (
  7. next: D
  8. ) => (action: D extends Dispatch<infer A> ? A : never) => any
  9. }

中间件是一个高阶函数,它组成一个调度函数以返回一个新的调度函数。 它通常将异步action转变为action(同步),这对于日志记录,执行路由产生的副作用或将异步API调用转换为一系列同步操作很有用。