Web Workers — Performance

Web Workers Web Workers memungkinkan kita menjalankan JavaScript di thread terpisah dari main thread. Ini mencegah heavy computation dari memblokir UI. Kapan Me

Web Workers

Web Workers memungkinkan kita menjalankan JavaScript di thread terpisah dari main thread. Ini mencegah heavy computation dari memblokir UI.

Kapan Menggunakan

Membuat Worker

// main.js
const worker = new Worker("heavy-task.js");

// Kirim data ke worker
worker.postMessage({ data: largeArray });

// Terima hasil dari worker
worker.onmessage = (event) => {
  console.log("Result:", event.data);
};

// heavy-task.js (worker)
self.onmessage = (event) => {
  const result = processData(event.data);
  self.postMessage(result);
};

Limitasi Worker

SharedArrayBuffer

Untuk shared memory (zero-copy transfer), gunakan SharedArrayBuffer + Atomics. Ini advanced dan memerlukan Cross-Origin-Isolation headers.

Yang akan kamu pelajari