我瘋了一個問題,我找不到解決方案。我無法從redis查詢中返回值。我使用node_redis客戶端(http://redis.js.org/)作爲Node.JS的redis驅動程序。node_redis客戶端 - 無法從查詢中返回值
問題是:我寫了一個獲取用戶狀態連接的函數,並將其返回以從其他函數獲取值。
//CHECK USER STATUS
exports.checkUserStatus = function(uid){
redis.multi()
.sismember('users:online',uid)
.sismember('users:iddle', uid)
.sismember('users:out', uid)
.sismember('users:locked', uid)
.exec(function(err, res){
res.forEach(function(res, index){
if(res != 0){
switch(index){
case 0:
return 'online';
break;
case 1:
return 'iddle';
break;
case 2:
return 'out';
break;
case 3:
return 'locked';
break;
default:
return 'offline';
}
}
});
})
}
但是函數什麼也沒有返回!如果我用console.log()替換返回行,它可以工作!但我不需要一個console.log(),我需要取值。
我試着在查詢之外創建一個變量,並從裏面設置它,然後返回它,但它不起作用。
有人知道我該怎麼做?
謝謝!
是的!工作!我不知道我是否很累或什麼,我嘗試你的代碼只是爲了確保它的工作,但我可以發誓我已經嘗試過......非常感謝! –