Node.jsで順番に処理を行う

実行結果を次の関数に渡す場合には、async.waterfallを使います。

var async = require('async');
async.waterfall([
    function func1(done) {
        done(null, 'val1');
    },
    function func2(val, done) {
        console.log('func2.val=' + val);
        done(null, 'val2');
    },
    function func3(val, done) {
        console.log('func3.val=' + val);
        done(null, 'val3');
    },
], function (err, result) {
    if (err) console.error(err);
    else console.log('result=' + result);
});

参考

http://nodejs.osser.jp/javascript/async/

http://dev.classmethod.jp/server-side/asyn/