Namespace: parallelLimit

async.parallelLimit

Source:

Examples

var order = [];
var tasks = [
 function(done) {
   setTimeout(function() {
     order.push(1);
     done(null, 1);
   }, 10);
 },
 function(done) {
   setTimeout(function() {
     order.push(2);
     done(null, 2);
   }, 50);
 },
 function(done) {
   setTimeout(function() {
     order.push(3);
     done(null, 3);
   }, 30);
 },
 function(done) {
   setTimeout(function() {
     order.push(4);
     done(null, 4);
   }, 40);
 }
];
async.parallelLimit(tasks, 2, function(err, res) {
  console.log(res); // [1, 2, 3, 4];
  console.log(order); // [1, 3, 2, 4]
});
var order = [];
var tasks = {
  'a': function(done) {
    setTimeout(function() {
      order.push(1);
      done(null, 1);
    }, 10);
  },
  'b': function(done) {
    setTimeout(function() {
      order.push(2);
      done(null, 2);
    }, 50);
  },
  'c': function(done) {
    setTimeout(function() {
      order.push(3);
      done(null, 3);
    }, 20);
  },
  'd': function(done) {
    setTimeout(function() {
      order.push(4);
      done(null, 4);
    }, 40);
  }
};
async.parallelLimit(tasks, 2, function(err, res) {
  console.log(res); // { a: 1, b: 2, c: 3, d:4 }
  console.log(order); // [1, 3, 2, 4]
});