1.3.5 • Published 9 years ago

conti v1.3.5

Weekly downloads
14
License
MIT
Repository
github
Last release
9 years ago

conti

A primitive JavaScript asynchronous function manager.

Install

npm install conti

Examples

var conti = require("conti");

sequential execution

conti.exec([
  function(done){
    setTimeout(done, 1000);
  },
  function(done){
    setTimeout(done, 1000);
  }
], function(err){
  if( err ){
    throw new Exception(err);
  }
  console.log("done after 2 seconds");
});

parallel execution

conti.execPara([
  function(done){
    setTimeout(done, 1000);
  },
  function(done){
    setTimeout(done, 1000);
  }
], function(err){
  if( err ){
    throw new Exception(err);
  }
  console.log("done after 1 second");
});

sequential forEach

conti.forEach([1,2,3], function(ele, done){
  setTimeout(done, ele*1000);
}, function(err){
  if( err ){
    throw new Exception(err);
  }
  console.log("done after 6 seconds");
});

parallel forEach

conti.forEachPara([1,2,3], function(ele, done){
  setTimeout(done, ele*1000);
}, function(err){
  if( err ){
    throw new Exception(err);
  }
  console.log("done after 3 seconds");
});

parallel map

conti.mapPara([1,2,3], function(ele, cb){
  setTimeout(function(){
    cb(undefined, ele*10);
  }, 1000);
}, function(err, result){
  if( err ){
    throw new Exception(err);
  }
  console.log(result, "after 1 second"); // result is [10, 20, 30]
})

dynamically add to a list of asynchronous calls that are invoked sequentially

I found this function to be useful while coding for single page applications.

conti.enqueue(function(done){
  console.log("first start");
  setTimeout(done, 1000);
}, function(err){ console.log("first end"); });
conti.enqueue(function(done){
  console.log("second start");
  setTimeout(done, 1000);
}, function(err){ console.log("second end"); });

// first start
// first end (after 1 second)
// second start
// second end (after another 1 second)

License

This software is released under the MIT License, see LICENSE.txt.

1.3.5

9 years ago

1.3.4

9 years ago

1.3.3

9 years ago

1.3.2

10 years ago

1.3.1

10 years ago

1.3.0

10 years ago

1.2.1

10 years ago

1.2.0

10 years ago

1.1.2

10 years ago

1.1.1

10 years ago

1.1.0

10 years ago

1.0.0

10 years ago