- Web Workers helps us to run javascript code in the background without blocking application.
- Web Workers runs in an isolated (new) thread for executing our javascript code.
- Web Workers are usually used for large tasks.
- Web Workers needs a seperate file for our javascript code.
- Web Workers files are downloaded asynchronously.
- Web Workers are supported in all latest browser.
Example:
Our client side js file below:
var myWebWorker = new Worker("task.js"); // Creating a worker
// Listen to task.js worker messages
worker.addEventListener("message", function(event) {
console.log("Worker said: ", event.data);
}, false);
worker.postMessage("From web worker file"); // Will start the worker
task.js (worker file) file below:
// Listen to client js file post messages
self.addEventListener("message", function(event) {
self.postMessage(event.data); // Send processed data to listening client js file.
}, false);
More on Web Workers.