Я схожу с ума от проблемы, которую не могу найти решения. Я не могу вернуть значения из запроса Redis. Я использую клиент node_redis (http://redis.js.org/) в качестве драйвера Redis для Node.JS. .
Проблема в том, что я написал функцию для получения соединения статуса пользователя и возврата его для получения значения из другой функции.
//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(), мне нужно взять значение.
Я тоже пытался создать переменную вне запроса и установить ее изнутри, а затем вернуть, но это не работает.
Кто-нибудь знает, как я могу это сделать?
Благодарю вас!