目前,我有一个具有 150,000 + 行和多张工作表的Excel文件,并且我正在使用 read-excel-file 库读取同步文件。 strong>浏览器被卡住了!所以我想把负载推到另一个线程上,以便主线程可以完美地呈现UI,这就是为什么我要为此使用Web-Worker的原因,目前我在 VueJs 项目中,并且找到了一个网络工作者的库 vue-worker ,但出现此错误,找不到任何解决方案。
错误:无法在'Worker'上执行'postMessage':function readXlsxFile(file){...
这是它的一个微型示例: 网址:Persistence Ignorance Principle
<template>
<div id="app">
<input type="file" @change="onFIleChange">
</div>
</template>
<script>
import readXlsxFile from "read-excel-file";
export default {
name: "App",
components: {},
data: () => {
return {
file: null,
rows: null
};
},
methods: {
onFIleChange(e) {
this.file = e.target.files[0];
this.$worker
.run(
(file, readXlsxFile) => {
return readXlsxFile(file);
},
[this.file, readXlsxFile]
)
.then(rows => {
this.rows = rows;
console.log(this.rows);
})
.catch(e => {
console.error(e);
});
}
}
};
</script>
<style>
</style>