JSFiddle - React, Tailwind, and code Playground

Simple Worker Demo

by skibulk

HTML

<input type="checkbox">

JavaScript

function toWorker(fn) {

  var url = URL.createObjectURL(
    new Blob(['(' + fn.toString() + ')();'], {
      type: 'application/javascript'
    })
  );

  var w = new Worker(url);
  URL.revokeObjectURL(url);
  url = null;
  return w;
}

function backgroundTask() {
  onmessage = function(event) {

    console.log(event.data);

    var target = Date.now() + 3000;
    var count = 0;
    
    while (Date.now() < target)
    {
    	count++;
    }
    
    console.log("Worker Counted to " + count);
  }
}

var myWorker = toWorker(backgroundTask);
myWorker.postMessage([0, 1, 2]);