よく分からなくなるのでメモ。 Nodeの非同期を扱うライブラリasync。の機能でフロー制御関数が幾つかある。 var async = require('async'); async.waterfall([ function (callback) { console.log('waterfall 1'); setTimeout(function () { console.log('waterfall 1 done.'); callback(null, 1); }, 500); }, function (arg, callback) { console.log('waterfall 2'); setTimeout(function () { console.log('waterfall 2 done.'); callback(null, arg + 1); }, 300); }, funct