Like any kind of apps, there are difficult issues to solve when we write Node apps.
In this article, we’ll look at some solutions to common problems when writing Node apps.
To limit concurrency when using Promise.all
, we can use the es6-promise-pool
package.
For instance, we can write:
const promiseProducer = function * () {
for (let count = 1; count <= 5; count++) {
yield delayValue(count, 1000)
}
}
const promiseIterator = generatePromises();
const pool = new PromisePool(promiseIterator, 3);
pool.start()
.then(function () {
console.log('Complete')
})
We get the values for the promises in the promiseProducer
generator function.
Then we call the generator function so that we get an iterator.
We then pass that into the PromisePool
constructor.
3 is the number of concurrent promises allowed.
Finally, we call pool.start
to invoke the promises.
#programming #javascript #software-development #web-development #technology