Posted on May 2, 2011 by cotaro サーバサイドJavascriptのアプリケーションサーバ「node.js」と言えば、高効率の非同期処理で知られる。 非同期処理は効率と引換えにコールバック地獄に陥るという批判をどこかのサイトで読んだのだが、やってみたらまさにその通りでびっくりした。 通常のプログラミングでは、関数やメソッドの返り値のreturnを加工して処理を進めていくが、非同期処理だと、returnを無視して処理がガンガン進んでしまう。 仕方がないので、一度コールバックを定義し始めると後続の処理もすべてコールバックで処理することになる。 コールバック地獄の対策については、「東京Node学園#1「非同期プログラミングの改善」のエッセンス」というプレゼンで解決法が提示されている。