首先type 必须等于 ‘module’
new Worker('Worker.js', {type: 'module'})
注意: 如果你引入的 ‘Worker.js’ 有任何引入问题. 控制台 不会有任何提示web-worker 会在主线程 worker.onerror 执行回调. 但是很遗憾的是. 我找不到报错信息…
let worker = new Worker('Worker.js', {type: 'module'})
worker.postMessage('执行')
worker.onmessage = e => {
console.log(e, ' 返回参数')
}
worker.onerror = (e, ev) => {
console.log(e, ' 123', ev )
}
Worker.js代码
import Model from './Model.js' // 注意这个实体类如果有任何错误的引用. 也会报错. 必须带.js后缀
console.log('街道')
onmessage = event => {
const model = new Model()
console.log(event, model)
}
最后: 建议大家js写好以后. 先用html 测试然后再给worker 用.
worker 无法使用document对象. window对象. 写的时候要注意