这是代码段。 最后,我得到一个空数组。请注意,我是JavaScript新手。
Pool是使用 node-postgres 软件包
连接到PostgreSQL数据库的连接function execute_query(pool) {
return new Promise(function(resolve, reject) {
let column_names = ["column1", "column2", "column3"];
let array = [];
for (column_name of column_names) {
query =
"SELECT uniqueid FROM table1 ORDER BY " + column_name + " DESC LIMIT 1";
const sql = {
text: query,
rowMode: "array",
};
pool.query(sql, (err, result) => {
if (err) {
return console.error("Error executing query", err.stack);
} else {
if (result.rows.length > 0) {
array.push(result.rows[0][0]);
}
}
});
}
resolve(array);
});
}
我真正想要的是从查询中附加三个结果的数组。如您所见,我正在推送 array result.rows [0] [0]
我也知道这是异步性的问题,但仍然无法解决。