Координация параллельного выполнения в node.js

Управляемая событиями модель программирования node.js несколько усложняет координацию потока программы.

Простое последовательное выполнение превращается во вложенные обратные вызовы, что достаточно просто (хотя и немного запутанно для записи).

А как насчет параллельного выполнения? Скажем, у вас есть три задачи A, B, C, которые могут выполняться параллельно, и когда они будут выполнены, вы хотите отправить их результаты в задачу D.

С моделью вилки / объединения это будет

  • вилка A
  • вилка B
  • вилка C
  • соединение A, B, C, запуск D

Как мне написать это в node.js? Есть ли какие-нибудь передовые практики или кулинарные книги? Нужно ли мне вручную набирать решение каждый раз, или есть какая-нибудь библиотека с помощниками для этого?

79
задан Community 23 May 2017 в 12:18
поделиться