execon
v1.2.9
Published
Patterns of function calls
Downloads
8,056
Readme
Execon
Patterns of function calls.
Install
npm i execon --save
# or
bower i execon --save
Api
var exec = require('execon');
exec
Check is parameter is function, if it's - executes it with given parameters
Was:
function(callback, p1, p2, pN) {
if (typeof callback === 'function')
callback(p1, p2, pN);
}
Now
function(callback, p1, p2, pN) {
exec(callback, p1, p2, pN);
}
or just
exec.ret(callback, p1, p2, pN);
exec.if
Conditional execution one of two functions
Preconditions:
function one() {
console.log(1);
}
function two(callback) {
setTimeout(callback, 1000);
}
Before:
if (2 > 3)
one();
else
two(one);
After:
exec.if(2 > 3, one, two);
exec.parallel
if a you need a couple async operation do same work, and then call callback, this function for you.
Node.js example.
var fs = require('fs'),
Util = require('execon');
exec.parallel([
function(callback) {
fs.readFile('file1', callback);
},
function(callback) {
fs.readFile('file2', callback);
}
], function(error, data1, data2) {
if (error)
console.log(error)
else
console.log(data1, data2);
});
Vanilla js example.
var ONE_SECOND = 1000,
TWO_SECONDS = 2000,
func = function(time, str, callback) {
setTimeout(function() {
console.log(str);
callback(null, str);
}, time);
},
func1 = func.bind(null, TWO_SECONDS, 'first'),
func2 = func.bind(null, ONE_SECOND, 'second');
exec.parallel([func1, func2], function(error, str1, str2) {
console.log(str1, str2);
});
exec.series
executes functions one-by-one
function one(callback){
setTimeout(function() {
console.log(1)
callback();
}, 1000);
}
function two(callback) {
console.log(2);
callback();
}
exec.series([one, two], function(error) {
console.log(error || 'done');
});
License
MIT