我正在构建一个使用pg-promise模块连接到Postgres数据库的Express应用程序。
我希望确保在启动应用程序服务器时数据库连接成功。换句话说,如果与数据库的连接失败,我想抛出一个错误。
我的server.js文件如下:
const express = require("express");
const databaseConfig= {
"host": "localhost",
"port": 5432,
"database": "library_app",
"user": "postgres"
};
const pgp = require("pg-promise")({});
const db = pgp(databaseConfig);
const app = express();
const port = 5000;
app.listen(port, (err) => {
console.log(`running server on port: ${port}`);
});
当前配置会启动Express服务器,无论数据库连接是否有效,这不是我想要的行为。
我尝试查阅文档,但没有找到解决方案。我还尝试了
const db = pgp(databaseConfig).catch((err) => { // blow up });
但是那并没有奏效,因为 pgp
不会返回一个 Promise。