minimal-promise-pool
TypeScript icon, indicating that this package has built-in type declarations

4.0.0 • Public • Published

minimal-promise-pool

Test semantic-release

A minimal library for managing the maximum number of promise instances. For example, new PromisePool(2) limits the maximum number of concurrent executions to two.

How to Use

The following example code runs only two promises at a maximum.

import { PromisePool, sleep } from 'minimal-promise-pool';

(async () => {
  const promisePool = new PromisePool(2);
  await promisePool.run(async () => {
    console.log('First task started');
    await sleep(10 * 1000);
    console.log('First task finished');
  });
  await promisePool.run(async () => {
    console.log('Second task started');
    await sleep(10 * 1000);
    console.log('Second task finished');
  });
  await promisePool.run(async () => {
    console.log('Third task started');
    await sleep(10 * 1000);
    console.log('Third task finished');
  });
})();

The result is as follows:

First task started
Second task started
# Wait for about 10 seconds
First task finished
Third task started
Second task finished
# Wait for about 10 seconds
Third task finished

Package Sidebar

Install

npm i minimal-promise-pool

Weekly Downloads

892

Version

4.0.0

License

Apache-2.0

Unpacked Size

24.4 kB

Total Files

8

Last publish

Collaborators

  • exkazuu