はじめに
本記事では、コールバックではなく、async/await
を使ってExpressでPostgreSQLに接続する方法をまとめる。
async/await
部分以外は、以下の記事を参考にしていただければ。
環境
- Windows 10
- Express 4.17.1
- PostgreSQL 11.3
- pg 7.12.1
サンプルコード
sever.js
const express = require("express");
const app = express();
const pg = require('pg');
const pool = pg.Pool({
host: hoge,
database: hogehoge,
user: huga,
port: 5432,
password: hugahuga
});
app.get("/", (req, res) => {
pool.connect( async (err, client) => {
if (err) {
console.log(err);
} else {
//同期っぽい処理
try {
var result = await client.query("SELECT * FROM users WHERE age = $1", [24]);
console.log(result.rows);
} catch (err) {
console.log(err.stack);
}
//非同期処理
try {
var result = client.query("SELECT * FROM classes WHERE id = $1", [1]);
console.log(result.rows);
} catch (err) {
console.log(err.stack);
}
res.json({
msg: "Hello, world!"
});
}
});
});