I know this sounds stupid, but I can't understand how to use async to handle existing asynchronous functions.
For example, consider some asynchronous function foo(arg1, arg2, ..., argN, callback) defined in some node module. Say I want to use this in async's waterfall(tasks,[callback]) function. How could I possibly do this?
//original call
foo(x1,x2,xN, function goo(err, res) {
// do something
});
//using async
async.waterfall([
function(callback) {
foo(x1,x2,...,xN, callback);
}
], function goo(err, res) {
// do something
});
but I can't do that since callback needs to be called before the end of the function.
Help?
Yup, what you have will work.
callbackjust tells async, "I'm done, go to the next". You can also useasync.applyto generate those little wrapper functions automatically: