我正在使用node.js + websocket + https://github.com/felixge/node-mysql。 我这里有一个小脚本:
sql.query('SELECT hash FROM dateinfo ORDER BY date LIMIT 1',function(error,erows){
if(error) throw err;
var oldhash,oldrolls;
for (var i = 0; i < rows.length; i++) {
oldhash = rows[i].hash;
oldrolls = rows[i].rolls;
};
console.log(oldhash);
});
成功查询后,控制台打印“未定义”。但是如果我在一段时间之后打印那个变量(让我们说1s),它将打印“test”(因为mysql字段包含“test”)。 我听说这是node.js异步的问题...... 我被困在这里,我该怎么办?
感谢您的帮助。
答案 0 :(得分:0)
rows
实际上是未定义的,因为您的第二个参数被称为erows