1.0.0 • Published 7 years ago

promise-parallel-limit v1.0.0

Weekly downloads
48
License
MIT
Repository
-
Last release
7 years ago

Promise-limit

Limit parallel count when all & map ..

usage

var limit = require('promise-limit');
// any Promise lib, eg bluebird
var Promise = require('bluebird');
/*
  param:
    1. Promise
    2. count to limit tasks running
*/
queue = limit.create(Promise, 2);
Promise.all(queue.wrap([
  (index) => {
    return new Promise((resolve, reject) => {
      setTimeout(resolve, 1200)
    })
  },
  (index) => {
    return new Promise((resolve, reject) => {
      setTimeout(resolve, 100)
    })
  },
  (index) => {
    return new Promise((resolve, reject) => {
      setTimeout(resolve, 300)
    })
  }
]))
// task 3 will start after 100ms, all task finished in 1200ms