私は解決策を見つけることができない問題に夢中になります。私はredisクエリから値を返すことはできません。私はNode.JSのredisドライバとしてnode_redisクライアント(http://redis.js.org/)を使用しています。node_redis client - クエリから値を返すことができません
問題は次のとおりです。ユーザーステータス接続を取得して他の関数の値を取得するための関数を作成しました。
//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()を必要としません、私は値を取る必要があります。
私はクエリの外部で変数を作成して内部から設定して返しますが、機能しません。
どうすればいいですか?
ありがとうございました!
はい!作業!私はとても疲れているかどうかわからない、あなたのコードを確かに試してみると、それはうまくいくが、私はすでにそれを試していたと断言できた。 –