While booting my Node.js app, I want to make a couple of synchronous calls to the PostgreSQL database to check some things before continuing the control flow. How can I achieve this using the node-postgres package?
The only way to synchronize calls is to nest them in callbacks:
function init() {
pg.connect('tcp://user@host/db', function(err, client, done) {
client.query("SELECT column FROM table", function(err, result) {
// check some things...
client.query("SELECT column FROM other_table", function(err, result) {
// check some other things...
main(); // proceed with flow...
}
});
}
}
function main() {
// main logic
}
This can be a pain, and would be trivial in some other languages, but it is the nature of the beast.