node.js で SQLite3 を使用するコードを書くとき、予備録 まず、非同期処理。 C言語や Perl のように上から下に処理が続くと決して思ってはいけない。 SQLite3 の each は SQL 文実行完了時に呼び出す関数を指定できる SQLite をインストールします、 npm install sqlite3 [test.js] var sqlite3 = require('sqlite3').verbose(); var db = new sqlite3.Database(':memory:'); db.serialize(function() { db.run("CREATE TABLE lorem (info TEXT)"); var stmt = db.prepare("INSERT INTO lorem VALUES (?)"); for (var i = 0; i 結果 [ROW] 1: Ipsum 0 [ROW] 2: Ipsum 1 [ROW] 3: Ipsum 2 [ROW] 4: Ipsum 3 [ROW] 5: Ipsum 4 [ROW] 6: Ipsum 5 [ROW] 7: Ipsum 6 [ROW] 8: Ipsum 7 [ROW] 9: Ipsum 8 [ROW] 10: Ipsum 9 [BUF] 1: Ipsum 0 [BUF] 2: Ipsum 1 [BUF] 3: Ipsum 2 [BUF] 4: Ipsum 3 [BUF] 5: Ipsum 4 [BUF] 6: Ipsum 5 [BUF] 7: Ipsum 6 [BUF] 8: Ipsum 7 [BUF] 9: Ipsum 8 [BUF] 10: Ipsum 9 Finish. まぁ見れば分かる通り、each 関数の第三引数を指定しただけなんだけどね。 Database#each(sql, [param, ...], [callback], [complete]) https://github.com/mapbox/node-sqlite3...