Collecte de données à partir de plusieurs flux dans Node.js

J'ai besoin de recueillir des données xml analysées à partir de plusieurs flux.

Je reçois une liste de fichiers à partir d'un chemin et crée plusieurs flux pour analyser les données XML. Les données dont j'ai besoin sont agrégées dans un JSONStream.

Y at-il une meilleure façon de le faire dans 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;
}
0

Il n'y a pas de réponses.

0