このコードを実装する場合 ( https://github.com/brianc/node-postgresから直接取得した例):
var pg = require('pg');
var conString = "tcp://postgres:1234@localhost/postgres";
pg.connect(conString, function(err, client) {
client.query("SELECT NOW() as when", function(err, result) {
console.log("Row count: %d",result.rows.length); // 1
console.log("Current year: %d", result.rows[0].when.getFullYear());
//Code halts here
});
});
最後の の後console.log
、ノードがハングします。これは非同期の性質によるものだと思います。現時点では、コールバック関数を呼び出す必要があると思います。
2 つの質問があります。
- 私の考えは正しいですか?
- 私の考えが正しければ、メカニズムはどのように機能するのでしょうか。NodeJS がイベント ループを使用していることは知っていますが、この時点でこのイベント ループを停止させているのは何ですか?