Node.jsアプリからバックエンドのWeb APIを叩くとき、複数のAPIを叩いたり、あるAPIの結果を元に別のAPIを叩くなどの制御が必要になることケースがありますが、Nodeだとこういった順序制御にはQを使うのがメジャーな感じっぽいのでQとQ標準のI/OライブラリであるQ-IOでいくつかのパターンを試してみました。 まずQ-IOのhttpライブラリで取得した結果をJSONに変換する処理をかますために以下のような関数を用意しておきます。 function asJson(promise){ return promise.then(function(response){ return response.body.read(); }).then(function(body){ return JSON.parse(body.toString("UTF-8")); }); } まずはAPIの呼び