Как я могу работать с функциями узла последовательно, если это разные проекты узлов? - PullRequest
0 голосов
/ 08 января 2019

У меня 3 узла разных проектов (сервисов). Это структура.

BIG SERVICE
  -service_1
    -start.js
  -service_2
    -start.js
  -service_3
    -start.js
  -big_start.js

Я хочу, чтобы при запуске файла узла big_start.js сначала работала service_1-> start.js, если все в порядке, вторая работала service_2-> start.js, если все в порядке, третья работа service_3-> start. JS.

1 Ответ

0 голосов
/ 08 января 2019

Если вы можете использовать async/await, тогда будет относительно легко смоделировать их последовательно:

async awaitChain() {
   try {
     const result1 = await startService1();

     const result2 = await startService2();
     ...
     const result3 = await startService3();
     ...
   catch (err) {
     // handle error
   }
   // all is well each has been initialized in series
   return await bigStart();
}

Этот шаблон можно абстрагировать и обобщить для последовательного выполнения любого количества асинхронных функций, а у bluebird есть примитив each, который должен выполнять именно это.

...