我不太了解javascript。我无法定义全局变量。
var data = 'empty';
connection.query('SELECT * FROM deneme',function(err, rows, fields){
if (err) throw err;
data = rows;
});
console.log(data);
通常,控制台需要返回行数据,但它返回'empty'。如何从函数内部查询行?如何定义全局变量?
答案 0 :(得分:1)
它不起作用的原因是因为console.log
在异步代码块之外。基本上发生的事情就是:
data
设置为empty
; connection
发出数据库请求; console.log
点火(此时data
为empty
); data
设置为rows
。因此,为了得到你想要的东西,只需将console.log
语句放在异步块代码中:
var data = 'empty';
connection.query('SELECT * FROM deneme',function(err, rows, fields){
if (err) throw err;
data = rows;
console.log(data);
});