Парадигма асинхронного программирования с nodejs и redis-node - PullRequest
4 голосов
/ 28 июля 2011

Как преобразовать следующий псевдокод синхронизации в асинхронный код 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. получить некоторые идентификаторы,
  2. получить элементы по идентификатору
  3. получить соответствующую информацию для каждого элемента и прикрепить эту информацию к ним
  4. объединить все элементы в массив и вернуть

Я пытался использоватьMULTI, но, кажется, не работает, когда рекурсия идет глубже.

Есть ли рекомендации по обучению программированию в асинхронной парадигме? (Желательно в js-коде, а не в .net)

1 Ответ

15 голосов
/ 28 июля 2011

Есть ли рекомендации по обучению программированию в асинхронном режиме? парадигма?

Попробуйте взглянуть на это:

Для предотвращения глубоко вложенных обратных вызовов в вашем коде вы можете использовать несколько модулей управления потоком node.js , таких как:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...