管理主线程发起的worker任务,worker文件使用内联代码动态生成,以及在主线程中处理消息响应,具体的流程:

1、动态创建worker文件,用于和后台服务通信,比如下载和上传文件、同步状态,获取列表信息

2、worker响应消息分为主动消息和被动消息,主动消息是响应主线程发送的命令,被动消息是worker通知给主线程当前的进度和状态等信息

3、每个命令都有唯一ID,收到worker响应时,能够找到原始的命令,同时要考虑几种异常情况: 1、如果页面刷新了,worker线程会终止,同时未处理的消息会丢失 2、Blob Worker 默认无法使用 import 语句

Constructors

Methods

  • Parameters

    • workerId: string

    Returns Promise<ProcessMessage<any>>

  • Parameters

    • workerId: string

    Returns void

  • 主线程发起各种命令,可以是配置、开始、暂停、终止、重启等

    Parameters

    • command: CommandMessage

      命令信息

    • Optionalcallback: WorkerCallback

      命令的直接回调函数

    • Optionaltransfers: Transferable[]

      零拷贝对象,避免在主线程和worker线程间拷贝数据: ArrayBuffer SharedArrayBuffer(受限) MessagePort ImageBitmap OffscreenCanvas

    Returns Promise<void>

  • Parameters

    • type: WorkerType
    • onComplete: WorkerCallback
    • onError: WorkerCallback
    • onProgress: WorkerCallback

    Returns Promise<ProcessMessage<any>>

  • Parameters

    • workerType: WorkerType

    Returns Promise<WorkerState<any>[]>

  • Parameters

    • workerId: string

    Returns undefined | WorkerState<any>

  • Parameters

    • message: ProcessMessage

    Returns void