我有一个 node.js (express) 应用程序,我正在使用 node_redis 从我的 redis 数据库中获取所有用户。
redis = require "redis"
client = redis.createClient()
client.smembers "users", (err, user_ids) ->
results = new Array()
for user_id in user_ids
client.hgetall user_id, (err, items) ->
results.push items
if user_ids.length is results.length
res.json results
这会产生以下结果:
[
{
"name": "user1",
"password": "secret"
},
{
"name": "user2",
"password": "secret"
}
]
现在我希望将 user_id 添加到用户结果中,这样我可以获得以下输出:
[
{
"user:1": {
"name": "user1",
"password": "secret"
}
},
{
"user:2": {
"name": "user2",
"password": "secret"
}
}
]
我遇到的问题是client.hgetall()被异步调用,我不能简单地访问 for 循环中的 user_id。