aradigma de programación @Async con nodejs y redis-node

Cómo traducir el siguiente pseudocódigo de sincronización a código js asíncrono

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

Eso parece natural en la programación de sincronización:

obtener algunos identificadores,get artículos por id obtenga información relevante para cada elemento y adjunte esa información a ellosmerge todos los elementos en una matriz y devuelve

He intentado usar MULTI pero parece que no funciona cuando la recursividad es más profunda.

¿Hay alguna recomendación para aprender programación en paradigma asíncrono? (Preferiblemente en código js en lugar de .net)

Respuestas a la pregunta(1)

Su respuesta a la pregunta