Web Worker 就是运行在后台的 js,可以通过 postMessage 返回结果。所有的 Worker 必须与创建者同源。
Worker - Web API 接口参考 | MDN (mozilla.org)
mdn/simple-web-worker: A simple web worker test. (github.com)
Web Workers basic example (mdn.github.io)
// main.jsconst first = document.querySelector('#number1');const second = document.querySelector('#number2');const result = document.querySelector('.result');if (window.Worker) {const myWorker = new Worker("worker.js");first.onchange = function() {myWorker.postMessage([first.value, second.value]);console.log('Message posted to worker');}second.onchange = function() {myWorker.postMessage([first.value, second.value]);console.log('Message posted to worker');}myWorker.onmessage = function(e) {result.textContent = e.data;console.log('Message received from worker');}} else {console.log('Your browser doesn\'t support web workers.');}
// work.jsonmessage = function(e) {console.log('Worker: Message received from main script');const result = e.data[0] * e.data[1];if (isNaN(result)) {postMessage('Please write two numbers');} else {const workerResult = 'Result: ' + result;console.log('Worker: Posting message back to main script');postMessage(workerResult);}}
