我不太了解javascript。我无法定义全局变量。
var data = 'empty';
connection.query('SELECT * FROM deneme',function(err, rows, fields){
if (err) throw err;
data = rows;
});
console.log(data);
通常,控制台需要返回行的数据,但它返回“空”。如何从函数内部查询行?如何定义全局变量?
我不太了解javascript。我无法定义全局变量。
var data = 'empty';
connection.query('SELECT * FROM deneme',function(err, rows, fields){
if (err) throw err;
data = rows;
});
console.log(data);
通常,控制台需要返回行的数据,但它返回“空”。如何从函数内部查询行?如何定义全局变量?
它不起作用的原因是因为您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);
});