从nodejs中的第二个函数中获取结果
Get result from second function in nodejs
编写node-js脚本,然后出现下一个问题。如何从clientSession函数获得结果
var User = function() {}
User.prototype.get_current_user = function (cookie) {
var cookieManager = new co.cookie(cookie);
var clientSession = new redis.createClient();
var respons=clientSession.get("sessions/"+cookieManager.get("PHPSESSID"), function(error, result) {
try {
if(result != null){
var session=JSON.parse(result);
if(session.current_user_ID>=1) {
return session.current_user_ID;
}
} else {
return "session does not exist";
}
} catch (error) {
return "error : "+error;
}
});
return respons;
}
module.exports = new User();
函数调用
var User=require('user');
var user_data=User.get_current_user(ws.upgradeReq.headers["cookie"]);
console.log(user_data); // return null. Null it's wrong answer :)
谁有什么想法?
从我所看到的get_current_user
是一个异步函数。因此,如果您想要current_user_ID
,您将需要传入一个用作回调的函数。
User.prototype.get_current_user = function (cookie, callback) {
var cookieManager = new co.cookie(cookie);
var clientSession = new redis.createClient();
clientSession.get("sessions/"+cookieManager.get("PHPSESSID"), function(error, result) {
try {
if(result != null){
var session=JSON.parse(result);
if(session.current_user_ID>=1) {
callback(null, session.current_user_ID);
}
} else {
callback("session does not exist");
}
} catch (error) {
callback("error : "+error);
}
});
}
然后将其用作
User.get_current_user(ws.upgradeReq.headers["cookie"], function(err, userId) {
if(!err) {
console.log(userId);
}
});
相关文章:
- 对象拟合:获取结果尺寸
- Mongodb$in以与数组中相同的顺序获取结果
- 获取结果未定义(主干.js)
- 无法从IE中的data.responseText获取结果,但在其他浏览器中工作
- 从sqlite数据库获取结果
- 谷歌地图-从连接的结果[1].formated_address中获取结果[0].formated_address
- 如何使用 HtmlUnit 从 JavaScript html 页面获取结果
- JS:如何从其函数中获取结果值
- GET 请求,但未在视图中获取结果
- 如何查询具有特定 id 的 json 文件并获取结果数组
- 从成功的AJAX帖子中获取结果,并使用globalEval设置HTML
- 如何使用 Parse.promise javascript 定义一个承诺数组并获取结果数组 [parse.com]
- 通过 javascript 从 LinkedIn API 获取结果
- Ajax 从 sql 查询中获取结果
- 如何在“node-mysql”查询中获取结果的值
- 如何先从Firebase获取结果,然后重定向到另一个页面
- 使用javascript从struts.xml获取结果
- 如何从请求主体获取结果
- 从nodejs中的第二个函数中获取结果
- Angularjs:无法迭代或从服务结果中获取结果