这个是html5 的新特性,它允许我们将复杂的、耗时的、安全的js 处理逻辑放在浏览器的后台线程中进行处理,让js线程不阻塞ui线程的渲染。

    如何定义一个worker?

    1. new Worker(new URL('./index.js', import.meta.url 可选,锁定当前模块,))
    2. 注意:
    3. './index.js'workerurl
    4. import.meta.url 可选,锁定当前模块,不能使用在commonjs
    1. // work.js
    2. self.onmessage = (message) => {
    3. self.postMessage({
    4. answer: 11111
    5. })
    6. }
    1. // index.js
    2. const worker = new Worker(new URL('./work.js', import.meta.url))
    3. worker.postMessage({
    4. question: 'shuzishi ? '
    5. })
    6. worker.onmessage = (message) => {
    7. console.log(message.data.answer)
    8. }