0
写入节点js脚本并产生下一个问题。我如何从一个ClientSession功能从nodejs中获取第二个函数的结果
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 :)
谁有任何想法导致?
很好的解决方案:)谢谢 –
@DmitriyKupriyanov如果这个回答乌尔问题会确立这个作为答案。 – blessenm
建议使用promise来替换回调函数,以便更轻松地跟踪和调试代码。 –