目前是通过 postMessage 回传变化的信息,需要显示上传的进度,在 web worker 子进程中,如果上传的信息和状态
发生了变化,就会实时将这部分信息通过 postMessage 回传至 worker 主进程,同时通过 vuex dispatch 将这部
分上传进度信息更新至进度条更新组件中,但由于使用的是 dispatch 异步的,即使使用 await 仍然没有用,导致
web worker 中上传都完成了,显示进度条的列表仍未收到上传进度更新的信息
worker.onmessage = async event => {
const { uuid, md5, taskDataArr, completeStatus } = event.data
if(completeStatus.status === 'updateStore') {
await store.dispatch('task/addMultiTaskUL', taskDataArr)
} else if(completeStatus.status === 'updateTaskUL') {
await store.dispatchPromise('task/updateTaskUL', { uuid, md5 })
} else if(completeStatus.status === 'failTaskUL') {
await store.dispatch('task/failTaskUL', uuid)
} else {
await store.dispatch('task/completeTaskUL', uuid)
}
}
各位大佬有遇到这种问题么?