私はnodejsを初めて使用し、MySQLデータベースにクエリを実行して特定のuser_idからユーザー名を返す必要があるコードを書いています。私はあなたのすべての関数が非同期であるべきだと読んでいます。この場合、理想的には、このクエリの実行中にサーバーが他のイベント リクエストに応答できるようにしたいと考えています。ただし、これは特に大きなクエリではなく、単一の値のみを返します。多分私はそれを同期にするべきですか?(それがあなたの答えなら、それを変更するサンプルコードは素晴らしいでしょう) とにかく、ここに私の関数があります。最後の行「return current_username;」の近くでエラーが発生します。current_username はその時点で定義されていないためです。助言がありますか?
function get_current_username(current_user_id) {
console.log(' | Entered get_current_username');
sqlq = 'SELECT username FROM users WHERE id = ' + current_user_id;
connection.query(sqlq, function(err, rows, fields) {
if (err) throw err;
var current_username = rows[0].username;
console.log(' | the current_username =' + current_username);
});
return current_username;
}