第2章~非同期プログラミング~
ここではNode.jsの最大の特徴でもある非同期プログラミングについて述べます。
- 非同期プログラミングとは 非同期IO (Asynchronous I/O) あるいは非ブロッキングIO(non-blocking I/O)とは、入出力の完了を待たずに、システムコールが終了する入出力処理の実装の事である。 ---出典:Wikipedia
というように述べられています。
一般的に使われているプログラミング言語は同期プログラミングと言われています。
var result = db.query('SELECT * FROM table');
このようなコードの場合データベースにアクセスして、結果が返ってくるまでプログラムはひたすら待ち続けます。
これを"ブロック"と言います。
このようなプログラムに対して、
db.query('SELECT * FROM table', function (res){
//resultの処理を書く
});
//別の処理
このように非同期プログラミングは記述できます。 データベースへのアクセスの結果が返ってくるまでに別の処理を実行する事ができます。