问题描述: Promise with node-postgres查询总是返回未定义的。
回答: 在使用Promise和node-postgres进行查询时,如果总是返回未定义的结果,可能有以下几个原因:
以下是一个使用Promise和node-postgres进行查询的示例代码:
const { Pool } = require('pg');
const util = require('util');
// 创建连接池
const pool = new Pool({
user: 'your_username',
host: 'your_host',
database: 'your_database',
password: 'your_password',
port: 5432,
});
// 将查询函数转换为Promise
const query = util.promisify(pool.query).bind(pool);
// 执行查询
query('SELECT * FROM your_table')
.then((result) => {
console.log(result.rows); // 查询结果
})
.catch((error) => {
console.error(error); // 错误处理
})
.finally(() => {
pool.end(); // 关闭连接
});
在上述示例中,我们使用了连接池管理数据库连接,并将查询函数转换为Promise。在查询结束后,我们关闭了数据库连接,并对可能出现的错误进行了处理。
希望以上解答对你有帮助。如果你需要更多关于node-postgres和Promise的信息,可以参考腾讯云PostgreSQL产品的文档和示例代码。
领取专属 10元无门槛券
手把手带您无忧上云