mysql query 的结果变量无法传递 求解
发布于 12 年前 作者 sipgear 4034 次浏览 最后一次编辑是 8 年前
    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);           //无法打印结果

sipgear

2 回复
  • 后两行代码无法打印是正常的,因为回调函数的执行不一定就在这两句的前面
  • 了解下node.js的异步机制吧

恩,问题已经解决,谢谢。

回到顶部