【发布时间】:2016-08-20 06:48:51
【问题描述】:
我正在为一个我找不到解决方案的问题而发疯。我无法从 redis 查询中返回值。我正在使用 node_redis 客户端 (http://redis.js.org/) 作为 Node.JS 的 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(),我需要取值。
我也尝试在查询之外创建一个变量并从内部设置它然后返回它,但是它不起作用。
有人知道我该怎么做吗?
谢谢!
【问题讨论】:
标签: javascript node.js return-value node-redis