
13
2
章
Node.js
の基本パターン
Node.js
(
Node
)の非同期の世界に慣れるのは簡単ではありません。特に
PHP
など、通常は非同期の
コードを扱うことがない言語を使ってきた人にとってはハードルが高いでしょう。
同期的なプログラミングにおいては、コードを「問題解決のための連続したステップ」として考える
のが一般的です。あるコードの実行中はほかのすべての操作がブロックされ、そのコードの実行が完
了しない限り次のコードへは進みません。記述した順番で実行されるため、コードは理解しやすくデ
バッグも比較的容易です。
一方、非同期プログラミングにおいては、たとえばファイルの読み込みやネットワーク経由のリクエ
ストなど、いくつかの処理はバックグラウンドで実行され、そうした処理が完了する前に後続するコー
ドが実行されることになります。非同期に呼び出されたバックグラウンドの処理はいつ終了するかわか
りませんので、非同期
処理の終了時の対応も記述しておく必要があります。
ブロックされることの少ない非同期のコードのほうが、パフォーマンス面では優れていることがほと
んどですが、その代わり読みにくくなってしまう傾向があります。特に複雑なフロー制御を行う高機能
のアプリケーションをわかりやすく記述するのはなかなか難しくなります。
しかし、
Node
には非同期の処理をうまく扱うためのツールやデザインパターンが用意されており、
読みやすくデバッグしやすくて、それでいてパフォーマンスも優れているアプリケーションを作成でき
ます。
この章で ...