Async programming paradigm with nodejs and redis-node

The question:

How to translate the following sync pseudo code into async js code

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

That’s seems natural in sync programming:

  1. get some ids,
  2. get items by id
  3. get relevant information for each items and attach those info to them
  4. merge all items into an array and return

I’ve tried using MULTI but it seem doesn’t work when the recursion goes deeper.

Is there any recommendation for learning programming in async paradigm?(preferably in js code rather than .net stuff)

The Solutions:

Below are the methods you can try. The first solution is probably the best. Try others if the first one doesn’t work. Senior developers aren’t just copying/pasting – they read the methods carefully & apply them wisely to each case.

Method 1

Is there any recommendation for learning programming in async
paradigm?

Try to look at these:

In order to prevent deeply nested callbacks in your code you can take advantage of several flow control node.js modules such as:


All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0

Leave a Comment