mysql query 的结果变量无法传递 求解
var cache = {};
var userId = datum.uniqueID;
mysql.query('select accountID, deviceID, uniqueID from Device WHERE uniqueID = ' + mysql.escape(userId),
function(err, result, fields) {
if (err) throw err;
else {
for (var i in result) {
var res = result[i];
cache.accountID = res.accountID;
cache.deviceID = res.deviceID;
console.log(result); //可以打印结果
console.log(cache.accountID); //可以打印结果
}
}
});
console.log(result); //无法打印结果
console.log(cache.accountID); //无法打印结果
2 回复
- 后两行代码无法打印是正常的,因为回调函数的执行不一定就在这两句的前面
- 了解下node.js的异步机制吧
恩,问题已经解决,谢谢。