これは私のコードです:
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));
});
このコードは未定義を返し、データベースとの接続を終了しません
しかし、返す代わりに関数内で firstNameMatches を console.log に記録し、コンソール ロギングなしで関数を呼び出すと、必要な結果が得られ、データベース接続が適切に閉じられます。
私がしたいのは、このクエリの結果を返し、それを別の関数で使用することです。そのため、結果をコンソール ログに記録したくありませんが、結果を返そうとすると、未定義になり、そうではありません。データベース接続を閉じます。