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