Web Worker 任务卸载
Web Worker Task Offloading
将 AI 生成等重计算任务卸载到 Web Worker,通过 Bridge 模式管理通信
子问题
1.主线程与Worker消息路由
2.Promise管理与超时
3.事件驱动的进度回调
4.Worker生命周期管理
5.双阶段生成流水线的中间审核点设计
6.Worker 内批次并发度控制与 API 限流适配
7.Bridge 到 Store 的副作用注入与循环依赖规避
各项目的解法1 solutions
Signals
横向对比
| 维度 | moyin-creator |
|---|---|
| 桥接模式 | Singleton AIWorkerBridge,readyPromise 等待初始化 |
| 协议设计 | TypeScript 联合类型 + Extract 映射,7 命令 9 事件 |
| Promise管理 | pendingPromises Map + 前缀匹配 + 超时清理 |
| 并发控制 | for+slice+allSettled 批次并发,configurable concurrency |
| 生成流水线 | 双阶段解耦:Image-Only → 用户审核 → Video-Only |
| 取消机制 | 模块级 cancelled 标志 + 100ms 自动重置 |
| Store集成 | Bridge 内动态 import Store,完成后自动注入媒体资源 |
最佳实践
1.Singleton Bridge 模式统一管理Worker通信
2.事件类型枚举确保类型安全
3.readyPromise 模式确保 Worker 初始化完成后再接受命令
4.Promise.allSettled 批次执行保证部分失败不影响整体
5.动态 import Store 避免 Bridge 与 UI 层循环依赖