Skip to content

A simple polyfill to be used where the browser doesn't provide the Worker class. BE AWARE: while the code will work asynchronously, it won't run in a separate thread.

mcastiello/worker-async-polyfill

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Worker Polyfill

The purpose of this library is to add a simple polyfill to be used where the browser doesn't provide the Worker class.

BE AWARE: While the code will work asynchronously, it won't run in a separate thread.

Let's say that if you want to use worker without caring about browser compatibility or test libraries that use workers, this one may be for you.

Usage

It should (more or less) implement a similar interface of the original Worker class.

// worker.js
onmessage = evt => {
  console.log("Message received", evt.data);
}

postMessage("Hello world!");
// index.js
const worker = new Worker("./worker.js");

worker.addEventListener("message", evt => {
  console.log("Hello Worker!", evt.data);
  worker.postMessage({
    "id": 1,
    "list": ["item1","item2","item3"]
  });
});

It may miss some of the functionalities, but for example it mimic the support of the Transferable objects (Usually the message content is cloned, except for those supported classes that can be transfered by reference).

About

A simple polyfill to be used where the browser doesn't provide the Worker class. BE AWARE: while the code will work asynchronously, it won't run in a separate thread.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published