将get方法中的数据存储在某个对象中以后使用

时间:2013-01-12 16:25:35

标签: node.js express

我使用express来写我想写的聊天应用程序。问题是当我用快速的get方法获取数据时我无法在我的代码的其他部分使用它,在console.log中使用未定义的var消息。

代码是

// routing
app.get('/', function (req, res) {
  res.sendfile(__dirname + '/index.html');
  var cookieManager = new co.cookie(req.headers.cookie);

  var client = new memcache.Client(11211, "localhost");
  client.connect();

    user = client.get("sessions/"+cookieManager.get("sec_session_id"), function(error, result){
            var session = JSON.parse(result);
            user = JSON.parse(session.name);
            user = user.username;
    });

});

我想存储用户变量并在我的代码的另一部分使用它,所以我在这段代码之后写了console.log(用户),但用户在console.log中未定义

任何形式的帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

编写一个函数并传递用户名,如下所示:

// routing
app.get('/', function (req, res) {
  res.sendfile(__dirname + '/index.html');
  var cookieManager = new co.cookie(req.headers.cookie);

  var client = new memcache.Client(11211, "localhost");
  client.connect();

  client.get("sessions/"+cookieManager.get("sec_session_id"), function(error, result){
    var session = JSON.parse(result);
    // user = JSON.parse(session.name); // what are you trying to do here?
    // user = user.username;
    do_something_with_user(session.name.username);
  });
});

function do_something_with_user(username) {
  console.log(username);
}

我建议您查看一些关于javascript / node.js的教程,例如http://www.nodebeginner.org/