1.6.3 • Published 10 months ago

thread-promises v1.6.3

Weekly downloads
4
License
MIT
Repository
github
Last release
10 months ago

ThreadPromises

Promises running in separated threads

new TPromise((resolve) => {
  resolve("I am multithread JavaScript");
});

npm version npm type definitions GitHub top language

It creates a thread for every task so it not blocking main thread and it could run in parallel

screenshot

Usage

Simple

new TPromise((resolve, reject) => {
  console.log("I am multithread JavaScript");
});

In async function

const hugeAsyncOperation = () => {
  return new Promise((resolve) => {
    const time = new Date().getTime();
    while (new Date().getTime() - time < 10000) {}
    resolve();
  });
};

const hugeMultithreadOperation = () => {
  return new TPromise((resolve) => {
    const time = new Date().getTime();
    while (new Date().getTime() - time < 10000) {}
    resolve();
  });
};

(async () => {
  console.log("Start async");
  // We'll be blocked here. Page will not respond for 10 seconds
  await hugeAsyncOperation();
  console.log("Async done");

  console.log("Start multithread");
  // We'll not be blocked here. Page will act like nothing happens and continue here in 10 seconds
  await hugeMultithreadOperation();
  console.log("Multithread done");
})();

For additional properties put them after executor function (like in setTimeout):

new TPromise(
  (resolve, reject, some, additional, properties) => {
    console.log(
      "I have no access to my old lexical environment, but I can use props"
    );
    console.log(some, additional, properties);
  },
  some,
  additional,
  properties
);

Installing

<script src="/lib/thread-promises.min.js"></script>

Or

<script src="https://cdn.jsdelivr.net/npm/thread-promises/lib/thread-promises.min.js"></script>

Or

npm i --save thread-promises
import TPromise from "thread-promises";

Examples

th-sort is a simple non-blocking sorting library

All examples

Expample of making blocking job on main thread and on TPromise's thread

demo and code

Simple resolve on timeout

demo and code

Simple reject on timeout

demo and code

1.6.3

10 months ago

1.6.2

10 months ago

1.6.1

1 year ago

1.6.0

1 year ago

1.5.2

3 years ago

1.5.1

3 years ago

1.5.0

3 years ago

1.4.2

5 years ago

1.4.1

5 years ago

1.4.0

5 years ago

1.3.0

5 years ago

1.2.1

6 years ago

1.2.0

6 years ago

1.1.1

6 years ago

1.1.0

6 years ago

1.0.1

6 years ago

1.0.0

6 years ago

0.1.0

6 years ago