Constructors
constructor
Parameters
- workerOption: WorkerOption
Methods
abortWorker
abortWorker(workerId: string): Promise<ProcessMessage<any>> Returns Promise<ProcessMessage<any>>
clearWorker
clearWorker(workerId: string): void
command
command( command: CommandMessage, callback?: WorkerCallback, transfers?: Transferable[],): Promise<void> Parameters
- command: CommandMessage
Optionalcallback: WorkerCallbackOptionaltransfers: Transferable[]
Returns Promise<void>
createWorker
createWorker( type: WorkerType, onComplete: WorkerCallback, onError: WorkerCallback, onProgress: WorkerCallback,): Promise<ProcessMessage<any>> Parameters
- type: WorkerType
- onComplete: WorkerCallback
- onError: WorkerCallback
- onProgress: WorkerCallback
Returns Promise<ProcessMessage<any>>
getWorkersByType
getWorkersByType(workerType: WorkerType): Promise<WorkerState<any>[]> Returns Promise<WorkerState<any>[]>
getWorkerState
getWorkerState(workerId: string): undefined | WorkerState<any> Returns undefined | WorkerState<any>
StaticskipMessage
skipMessage(message: ProcessMessage): void
管理主线程发起的worker任务,worker文件使用内联代码动态生成,以及在主线程中处理消息响应,具体的流程:
1、动态创建worker文件,用于和后台服务通信,比如下载和上传文件、同步状态,获取列表信息
2、worker响应消息分为主动消息和被动消息,主动消息是响应主线程发送的命令,被动消息是worker通知给主线程当前的进度和状态等信息
3、每个命令都有唯一ID,收到worker响应时,能够找到原始的命令,同时要考虑几种异常情况: 1、如果页面刷新了,worker线程会终止,同时未处理的消息会丢失 2、Blob Worker 默认无法使用 import 语句