核心是将散落的执行意图转化为可注册、可路由、可追踪的结构化流程节点,通过语义化意图替代裸写逻辑,构建三层轻量寻址网实现零破坏接入与全流程可编排、可追溯、可治理。

核心不是“收拢代码片段”,而是把散落的执行意图转化为可注册、可路由、可追踪的结构化流程节点。重点在于用语义化意图替代裸写逻辑,用中心化寻址网替代硬编码跳转。
把 yield / callback / then() 转成结构化意图
遗留系统里大量分散的异步控制点(如 yield api.fetch()、cb()、.then(handle))本质是业务决策点外泄。不改语法,只改返回值:
- 将 yield fetchUser(id) 改为 yield { type: 'user:load', payload: { id } }
- 将回调函数 onSuccess(data) 封装为 yield { type: 'notify:success', payload: data }
- 每个意图对象必须含 type(用于路由)、payload(携带上下文)、可选 meta(如超时、重试策略)
构建三层轻量寻址网
不引入调度器,而是一张带元数据的路由表:
- 注册层:启动时集中声明 handler,如 router.register('user:load', loadUserHandler)
- 匹配层:支持通配('api:*')、环境过滤(devOnly: true)、优先级钩子(pre: authCheck)
- 执行层:handler 返回标准化结果 { data, next: 'stepB', error },由执行器决定继续流转还是中断
零破坏接入旧代码
无需重写 generator 或 Promise 链,仅两处微调即可上线:
- 在 yield 表达式外包裹一层意图构造,如 yield wrapIntent('payment:submit', order)
- 用新执行器替换原调用,如 runWithRouter(gen(), router)(内部仍兼容原 Promise 处理逻辑)
- 未注册的 type 自动 fallback 到默认 handler,可打日志、报警或透传原值,保障平滑过渡
让流程可编排、可追溯、可治理
一旦所有控制点完成语义化,就能脱离代码文本,直接在 JSON/YAML 中定义跨模块流程图:
- 用配置文件描述登录流程:auth_check → feature_flag → user_load → render_dashboard
- 每个节点自动注入 traceId、模块名、耗时统计,对接 Prometheus + Grafana 实时监控
- 支持运行时热插拔 handler,比如灰度期启用新风控逻辑,其余流量走老路径

















