Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function composeAsync(){
- var stack = Array.prototype.slice.call(arguments);
- var callback = function(err){
- var args = Array.prototype.slice.call(arguments);
- args.shift();
- args.push(null);
- exec.apply(this, args)
- };
- var originalCallback;
- var exec = function(){
- var args = Array.prototype.slice.call(arguments);
- var passedCallback = args.pop();
- if (!originalCallback)
- originalCallback = passedCallback;
- if (stack.length===1)
- args.push(originalCallback);
- else
- args.push(callback);
- stack.shift().apply(this, args);
- };
- return exec;
- }
- composeAsync(function($, query, callback){
- console.log('foo', $, query);
- callback(null, $, query);
- }, function($, query, callback){
- console.log('bar', $, query);
- callback(null, $, query);
- })({foo:1, bar:2}, "foobar", function(){ console.log(arguments); })
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement