0
我在zip中有很多.json文件和一個.xml文件。我想在我做fs.createReadStream
時首先查看XML文件,然後對列表進行排序。用fs.createReadStream排序列表
我現在在做什麼
fs.createReadStream(savePathZip)
.pipe(unzip.Parse())
.on('entry', function(entry) {
}
我在zip中有很多.json文件和一個.xml文件。我想在我做fs.createReadStream
時首先查看XML文件,然後對列表進行排序。用fs.createReadStream排序列表
我現在在做什麼
fs.createReadStream(savePathZip)
.pipe(unzip.Parse())
.on('entry', function(entry) {
}
您可以在返回(如unzip
文檔說明)當流「關閉」事件釋放出來,解決了一個無極的函數把這個包,並在諾言解決方案會返回排序後的zip文件的最終列表,但您要對其進行排序。一個例子可以是:
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))
})
}
然後,你可以調用的函數,它返回數組文件的完整列表和它們卻排序你喜歡:
getFileList(zipFilePath).then(fileArray => {
fileArray = fileArray.sort((f1, f2) => {
/* sort the list of files however you like */
})
})