sql >> Base de Datos >  >> RDS >> Mysql

La consulta de conexión MySQL de Nodejs devuelve el valor a la llamada de función

El problema es este:

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

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

El console.log se ejecutará antes de que se llame a la función de devolución de llamada, porque db.demo es asincrónico, lo que significa que puede tardar un poco en terminar, pero mientras tanto, la siguiente línea del código, console.log , será ejecutado.

Si desea acceder a los resultados, debe esperar a que se llame a la función de devolución de llamada:

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

Así es como la mayoría de los códigos que se ocupan de E/S funcionarán en Node, por lo que es importante conocerlo.