Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

A consulta de conexão MySQL do Nodejs retorna o valor para a chamada de função


A questão é esta:
var r = db.demo(query, function(result) { data = result; });

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

O console.log será executado antes que a função de retorno de chamada seja chamada, porque db.demo é assíncrono, o que significa que pode levar algum tempo para terminar, mas enquanto isso a próxima linha do código, console.log , será executado.

Se você deseja acessar os resultados, precisa aguardar a chamada da função de retorno de chamada:
var r = db.demo(query, function(result) { 
  console.log( 'Data : ' + result);
});

É assim que a maioria dos códigos que lidam com E/S funcionarão no Node, por isso é importante aprender sobre isso.