CodShot
JavaScript Public

Web Worker for CPU-Heavy Calculations

Move expensive calculations off the main thread and return the result with postMessage.

#javascript #web-worker #performance #frontend
JavaScript
// statistics.worker.js
self.addEventListener('message', (event) => {
  const numbers = event.data;

  const total = numbers.reduce(
    (sum, value) => sum + value,
    0,
  );

  self.postMessage({
    total,
    average: numbers.length
      ? total / numbers.length
      : 0,
  });
});

// main.js
const worker = new Worker(
  new URL('./statistics.worker.js', import.meta.url),
  { type: 'module' },
);

worker.addEventListener('message', (event) => {
  console.log('Worker result:', event.data);
});

worker.addEventListener('error', (event) => {
  console.error('Worker failed:', event.message);
});

worker.postMessage([12, 18, 25, 31, 44]);

Snippet actions

CodShot user
CodShot user
Updated: 2026-08-06 18:36
Public snippets
0
Forks
CodShot AI Help
Ask about CodShot features, plans, workspace, AI limits, referrals, and public help topics.
Hi! I can help you understand how CodShot works. What would you like to know?
For account-specific or sensitive issues, please open a support ticket. Open support