Mysql
 sql >> Base de données >  >> RDS >> Mysql

La requête de connexion Nodejs MySQL renvoie la valeur à l'appel de fonction

Le problème est le suivant :

var r = db.demo(query, function(result) { data = result; });

console.log( 'Data : ' + data);

Le console.log s'exécutera avant que la fonction de rappel ne soit appelée, car db.demo est asynchrone, ce qui signifie que cela peut prendre un certain temps, mais pendant tout ce temps, la ligne suivante du code, console.log , sera exécuté.

Si vous souhaitez accéder aux résultats, vous devez attendre que la fonction de rappel soit appelée :

var r = db.demo(query, function(result) { 
  console.log( 'Data : ' + result);
});

C'est ainsi que la plupart des codes traitant des E/S fonctionneront dans Node, il est donc important de s'informer à ce sujet.