2017-10-20 5 views
0

私は多くの.jsonファイルと1つの.xmlをzipに入れています。 XMLファイルを最初に表示するには、fs.createReadStreamを実行してリストを並べ替える必要があります。あなたは、ストリーム「閉じる」イベントは(unzipドキュメントに記載されているように)放出された、としているときに解決された約束を返す関数でこれをラップすることができます私は今fs.createReadStreamでリストをソート

fs.createReadStream(savePathZip) 
    .pipe(unzip.Parse()) 
    .on('entry', function(entry) { 
} 

答えて

0

約束の解決は、あなたがそれらをソートしたいと思っているが、あなたがソートしたzipファイルの最終的なリストを返します。例は次のようになります。

getFileList(zipFilePath).then(fileArray => { 
    fileArray = fileArray.sort((f1, f2) => { 
    /* sort the list of files however you like */ 
    }) 
}) 

function getFileList(savePathZip) { 
    return new Promise((resolve, reject) => { 
    var list = [] 
    fs.createReadStream(savePathZip) 
    .pipe(unzip.Parse()) 
    .on('entry', entry => list.push(entry.path)) 
    .on('error', reject) 
    .on('close',() => resolve(list)) 
    }) 
} 

次に、あなたは、しかし、あなたが好きな、アレイ内のファイルの完全なリストを返す関数を呼び出し、それらを並べ替えることができます

関連する問題