这是我的代码:
const queryFirstNames = function (qString) {
let firstNameMatches;
client.query('SELECT * FROM famous_people WHERE first_name = $1', [qString], (err, result) => {
if (err) {
return console.error('error running query', err);
}
firstNameMatches = result.rows;
return firstNameMatches;
client.end();
});
};
console.log(queryFirstNames(qString));
});
但是,如果我在函数内部 console.log firstNameMatches 而不是返回,然后只调用函数而不进行控制台日志记录,我会得到我想要的结果,并且数据库连接会正确关闭。
我想要做的是返回这个查询的结果并在另一个函数中使用它,所以我不希望它控制台记录结果,但是当我尝试返回结果时,它给了我未定义的,并且没有关闭数据库连接。