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來替換回調函數,以便更輕鬆地跟蹤和調試代碼。 –