Throttle the parallelism of an asynchronous, promise returning, function / functions. This has special utility when you set the concurrency to
1. That way you get a mutually exclusive lock.
npm install throat
This returns a function that acts a bit like a lock (exactly as a lock if concurrency is 1).
Example, only 2 of the following functions will execute at any one time:
const throat = 2;// alternatively provide your own promise implementationconst throat = 2;const promise = Promise;const resA = ;const resB = ;const resC = ;const resD = ;const resE = ;
This returns a function that is an exact copy of
worker except that it will only execute up to
concurrency times in parallel before further requests are queued:
const throat = ;// alternatively provide your own promise implementationconst throat = ;const input = 'fileA.txt' 'fileB.txt' 'fileC.txt' 'fileD.txt';const data = Promiseallinput;
Only 2 files will be read at a time, sometimes limiting parallelism in this way can improve scalability.