跳到主要内容

Middleware Function

中间件以「链式」方式处理上下文:每个中间件可以在调用 next() 前后做事,适合流水线、请求处理、可插拔步骤。

项目中的实现​

  • 源码: src/middlewareFunction.ts
  • 导出: MiddlewareContext、Middleware(类型)、runMiddleware、createLogMiddleware

各函数示例​

runMiddleware​

import { runMiddleware, createLogMiddleware, type MiddlewareContext } from 'wssf-kage-js';

const ctx: MiddlewareContext = { text: 'hello', logs: [] };
await runMiddleware(ctx, [createLogMiddleware('a'), createLogMiddleware('b')]);

createLogMiddleware​

import { createLogMiddleware, runMiddleware, type MiddlewareContext } from 'wssf-kage-js';

const ctx: MiddlewareContext = { text: 'x', logs: [] };
await runMiddleware(ctx, [createLogMiddleware('start')]);

什么时候优先用​

  • 一串可组合的处理步骤(校验 → 转换 → 落库)
  • 需要统一约束 next() 只前进一次(本实现会防止重复 next)