故事发生在用node.js运行名为mysql.js的脚本
mysql.js:
var mysql = require('mysql');
var connection = mysql.createConnection({
host : 'localhost',
user : 'root',
password : '123456',
port: '3306',
database: 'newweb'
});
var sql = 'SELECT * FROM chat where line = 1';
var hee = function(connection,sql){
var hea=[{cid:0},{cid:0},{cid:0}]; //初始化
connection.query(sql,function (err, result) {
var a=0;
if(err){
console.log('[SELECT ERROR] - ',err.message);
return;
}
for (var rs of result){
hea[a].cid=(rs.cid);
a++;
}
console.log(hea); //标记1处[{cid:1},{cid:2},{cid:3}]
});
console.log(hea); //标记2处[{cid:0},{cid:0},{cid:0}]
};
connection.connect();
hee(connection,sql);
connection.end();
问题:
发生了如图所示的输出结果
想问问为什么hea的内容值没被改变呢,
如果我特别想把结果result的部分(比如hea)从connection.query这个函数里取出来,应该要怎么做呢?