Я создаю экспресс-приложение, которое подключается к базе данных postgres с помощью модуля pg-promise.
Я хотел бы убедиться, что соединение с базой данных будет успешным при запуске сервера приложений. Другими словами, если соединение с базой данных терпит неудачу, я хотел бы сделать ошибку.
Мой файл 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}`);
});
Текущая конфигурация запустит экспресс-сервер независимо от того, является ли соединение с базой данных действительным, что не является поведением, которое я бы хотел.
Я пробовал просматривать документы, но не смог найти решение. Я также пробовал const db = pgp(databaseConfig).catch((err) => { // blow up });
, но это не сработало, потому что pgp
не возвращает обещание.