Code
javascript
function createWorker(fn) {
const blob = new Blob([`(${fn.toString()})()`], { type: "application/javascript" });
const worker = new Worker(URL.createObjectURL(blob));
return worker;
}
const worker = createWorker(() => {
self.onmessage = e => {
const result = e.data.reduce((s, n) => s + n, 0);
self.postMessage(result);
};
});
worker.postMessage([1, 2, 3, 4, 5]);
worker.onmessage = e => console.log(e.data);