Je deviens fou avec un problème que je ne trouve pas de solution. Je ne peux pas renvoyer les valeurs d'une requête redis. J'utilise le client node_redis (http://redis.js.org/) comme pilote redis pour Node.JS.client node_redis - Impossible de renvoyer les valeurs d'une requête
Le problème est le suivant: J'ai écrit une fonction pour obtenir la connexion d'état de l'utilisateur et la renvoyer pour prendre la valeur d'une autre fonction.
//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';
}
}
});
})
}
Mais la fonction ne retourne rien !. Si je remplace la ligne de retour par un fichier console.log(), ça marche! mais je n'ai pas besoin de console.log(), j'ai besoin de prendre la valeur.
J'ai essayé de créer une variable en dehors de la requête et de la définir de l'intérieur, puis de la retourner, mais cela ne fonctionne pas.
Quelqu'un sait comment faire cela?
Merci!
OUI! Travail! Je ne sais pas si je suis si fatigué ou quoi, j'essaye ton code juste pour être sûr et ça marche, mais j'aurais pu jurer que j'avais déjà essayé ça ... Merci beaucoup! –