function getUsernameAssociatedWithToken (token) {
console.log('\n\t\tgetUsernameAssociatedWithToken');
console.log("\t\t"+token);
var userReturn = "";
queryAsync(returnVal);
function queryAsync(callback){
connection.query("SELECT * FROM users WHERE token = '"+token+"'", function (error, results, fields) {
if (error) {
console.log(error);
callback(null);
}
if (results.length > 0) {
userReturn = results[0].user;
callback(userReturn);
} else {
callback(null);
}
});
};
function returnVal(str){
userReturn = str;
console.log('vaaaaal');
console.log(userReturn);
}
return userReturn;
}
最後の「リターン」は、クエリ関数が実行される前に呼び出されます(想定されていません)。コールバックを使用してこれを行うにはどうすればよいですか?
私はこれを試しましたが、これも失敗しました:
function getUsernameAssociatedWithToken (token) {
console.log('\n\t\tgetUsernameAssociatedWithToken');
console.log("\t\t"+token);
var userReturn = "";
function queryAsync(){
connection.query("SELECT * FROM users WHERE token = '"+token+"'", function (error, results, fields) {
if (error) {
console.log(error);
return null;
}
if (results.length > 0) {
userReturn = results[0].user;
return userReturn;
} else {
return null;
}
});
};
return (queryAsync());
}