与nodejs和redis-node的异步编程范例

时间:2011-07-28 04:24:58

标签: node.js redis

如何将以下同步伪代码转换为异步js代码

result = []
for pid in r.smembers('active_prog'):
    for prog_obj in r.hgetall("prog:" + pid):
        for item_obj in r.hgetall("item:" + prog_obj['iid']):
            prog_obj['items'].append(item_obj)
        result.append(prog_obj)
return result

这在同步编程中似乎很自然:

  1. 得到一些ID,
  2. 按ID
  3. 获取项目
  4. 获取每个项目的相关信息并将这些信息附加到他们
  5. 将所有项目合并到一个数组中并返回
  6. 我尝试过使用MULTI但是当递归更深入时它似乎不起作用。

    是否有任何建议在异步范式中学习编程?(最好用js代码而不是.net的东西)