问题域/PD-477

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 层循环依赖