CNode

mysql query 的结果变量无法传递 求解

Ssipgear发布于13 年前最后回复13 年前2 回复4479 浏览0 收藏
    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)

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

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

参与回复
登录后即可参与回复。登录