Su función externa debe proporcionar una devolución de llamada que se pueda ejecutar una vez que se realiza la llamada mysql. Algo parecido a esto:
function authenticate(user, pass, callback) {
mysql_client.query("...", function (err, results, fields) {
if (err) {
callback("Error communicating ...");
} else if (results.length ...) {
callback("Error comparing authentication...");
}
callback()
});
});
Ejemplo de uso:
authenticate('jim', '123456', function (err) {
if (err) {
alert(err);
} else {
alert('Welcome');
}
});