跳到主要内容

Middleware Function

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

项目中的实现

  • 源码: src/middlewareFunction.ts
  • 导出: MiddlewareContextMiddleware(类型)、runMiddlewarecreateLogMiddleware

各函数示例

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