Управление выполнением потока преобразования NodeJS - PullRequest
0 голосов
/ 15 мая 2019

У меня есть кодовая база, где я собираю несколько потоков преобразования в NodeJS

stream.on('data',function(data){}).pipe(data_work1).pipe(data_work2).pipe(data_work3).pipe(insertDataIntoDB);

Работает нормально. Мой вопрос касается дизайна, когда исходные данные имеют массив.

Если мои исходные данные имеют массив, как показано ниже:

{
"comp":"company1",
   [
     {
      "name":"yoohoo",
      "age":"43"
     },
     {
      "name":"yolo",
      "age":"21"
     }
   ]
}

Если я хочу разбить вышеупомянутый документ на более мелкие части

{
"comp":"company1",
"name":"yoohoo",
"age":"43"

}

и

{
"comp":"company1",
"name":"yolo",
"age":"21"

}

Я делаю это на этапе data_work1. Я хочу передать каждый из этих отдельных документов (yolo и yoohoo) на этапы data_work2, data_work3, insertDB. Только после этого я хочу получить следующий документ данных в data_work1.

Я знаю, что следующий этап / поток не будет работать до тех пор, пока не будет выполнен обратный вызов. Как я могу передать указание / флаг на предыдущий этап, чтобы сказать ему пропустить следующий документ данных? Например, я разбиваю исходный документ данных (с массивом) на отдельные документы, я передаю отдельные документы следующим этапам потока, т.е. data_work2 и т. Д., А затем говорю предыдущему этапу «поток» передать следующий документ. ?

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