DISKON TERBATAS! Masukkan kupon "skillbaru" saat checkout di kelas apa saja

Logo Koala Skodev mengetik

Skodev

Belajar coding dalam bahasa Indonesia

WEB WORKER API

Artikel ini menjelaskan tentang Web Worker API dalam JavaScript, mulai dari penggunaan, metode dan contoh kode. Tidak memerlukan pengetahuan lanjutan, cocok untuk pemula dan developer web.

Web Worker API adalah fitur JavaScript yang memungkinkan script berjalan di latar belakang, tanpa mengganggu jalannya halaman web atau aplikasi. Web Workers sangat berguna untuk melakukan task berat seperti pengolahan data besar atau image processing.

Penggunakan Web Worker

Untuk menggunakannya, pertama-tama kamu harus membuat script yang akan dieksekusi oleh Web Worker. Kemudian script ini bisa dijalankan secara paralel dengan thread utama menggunakan metode new Worker().

Berikut sketsa cara kerjanya:

// Membuat Worker
var myWorker = new Worker('worker.js');

// Mengirim data ke Worker
myWorker.postMessage([num1, num2]);

// Menerima data dari Worker
myWorker.onmessage = function(e) {
  result.innerText = e.data;
  console.log('Data received from worker: ', e.data);
}

Lalu, dalam worker.js kamu bisa memasukkan kode apa pun yang ingin dijalankan. Misalnya:

// worker.js
onmessage = function(e) {
  console.log('Data received from main thread', e.data);
  var result = e.data[0] * e.data[1];
  postMessage(result);
}

Note: Web Workers tidak dapat mengakses DOM maupun obyek-obyek global seperti window atau document.

Metode dan Properti Web Worker

Web Worker API menyediakan beberapa metode dan properti, diantaranya:

  • postMessage(): Digunakan untuk mengirim data ke Worker.
  • onmessage(): Event handler yang mengambil respons dari Worker.
  • terminate(): Menghentikan Worker dari perintah dan membebaskan sistem operasi.
  • onerror(): Event handler yang mengambil error yang dihasilkan oleh Worker.

Berikut contoh penggunaan metode postMessage() dan onmessage.

var myWorker = new Worker('worker.js');

myWorker.onmessage = function(e) {
  console.log('Message received from worker', e.data);
}

myWorker.postMessage([10, 20]);

Web Worker API merupakan fitur yang memungkinkan untuk mengeksekusi proses berat tanpa mengganggu performa halaman web. Walaupun tidak dapat mengakses DOM atau obyek global lainnya, namun Web Worker sangat berguna dalam meningkatkan efisiensi dan performa aplikasi web.

👈🏼 Web storage API
Web fetch API 👉🏼