Task.jsは、簡単に言うと、複数の非同期処理の完了を待ち、待機成功・失敗時に関数を実行することができるライブラリです。コロンブスの卵的な発想が個人的にすごく気に入っているので紹介します。ちなみに前身のflow.jsの頃からのファンです。 Task.js (github) Task.js (スライド) すごくシンプル Task.jsがあれば、Promise/Deferredの100倍楽に非同期処理の待機ができます。詳しい説明はぜひ上記のスライドを見てほしいのですが、簡単な例を以下に書きました。1秒後に完了する処理、2秒後に完了する処理があり、2つめの処理が終わったタイミングでコールバックが呼ばれます。 // 引数1: タスクの個数(pass()の回数) // 引数2: 完了後に呼ばれる関数 var task = new Task(2, function(){ console.log("f