在Node.js中从多个stream收集数据

我需要从多个stream收集分析的XML数据。

我从path中获取文件列表,并创build多个stream来parsingXML数据。 我需要的数据被聚合在一个JSONStream中。

在Node.js中有更好的方法吗?

let fs = require('fs'); let JSONStream = require('JSONStream'); let XmlStream = require('xml-stream'); async function getJsonStream(path) { let fileNames = await getFileNames(path); let jsonStream = JSONStream.stringify(); for(let i = 0; i < fileNames.length; i++) { let fileStream = fs.createReadStream(fileNames[i]); let xmlStream = new XmlStream(fileStream); xmlStream.on('endElement: Item', function(el) { jsonStream.write(el); }); xmlStream.on('end', function() { if (i === fileNames.length - 1) { jsonStream.end(); } }); } return jsonStream; }