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)