【发布时间】:2019-01-25 14:56:14
【问题描述】:
我试图使用vue-worker 将处理选定输入文件的任务卸载到base64 到后台线程。但是我没有成功。这是我正在尝试的:
// file is selected file from input
const getBase64 = (file) => {
return new Promise((resolve, reject) => {
const reader = new FileReader()
reader.readAsDataURL(file)
reader.onload = () => resolve(reader.result)
reader.onerror = error => reject(error)
})
}
this.$worker.run((file, getBase64) => {
getBase64(file).then((data) => {
return data
})
}, [file, getBase64])
.then(result => {
console.log(result)
})
.catch(e => {
console.error(e)
})
但是我收到以下错误:
DOMException:无法在“Worker”上执行“postMessage”:函数 getBase64(file) { return new Promise(function (resolve, reject) { var reader = new FileReader();...... } 无法克隆。
这个错误究竟与什么有关?我正在尝试完成的可能是什么?
【问题讨论】:
-
在 $worker.run 你没有返回 getBase64 函数或任何东西
标签: javascript vue.js web-worker