控制NodeJS转换流执行

时间:2019-05-15 20:29:56

标签: node.js nodejs-stream transform-stream

我有一个代码库,用于在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等,然后如何告诉上一个“流”阶段传递下一个文档?

0 个答案:

没有答案