1
創建一個node.js以自動下載zip文件,其中包含一個包含5000個用戶標識和用戶名(CSV)列表的文本文件。一個例子文本文件將是:
12345,JSmith
728422,YPatel
node.js:在嘗試解析內容之前如何等待「解壓縮」完成
我每次運行此,我得到不同的結果。 我認爲可能的原因是我試圖解析解壓縮文件之前,解壓縮已完成保存到磁盤。
在嘗試解析解壓縮的文件之前,有沒有辦法異步解析解壓縮的數據,或者至少等到解壓縮完成後才能解析? (我也很樂意從內存做這整個過程,並避免磁盤)
我對node.js很新。
function downloadAndUnzip(URL, doWhenFinished){
require('request')
.get(URL)
.on('error', function(error) {
console.log(error)
})
.on('end', doWhenFinished)
.pipe(require('unzip').Extract({path:'./'}))
}
var parseFile = function(){
var fs = require('fs')
var array =
fs.readFileSync('usernames.txt').toString().split("\n\r");
for (i in array) {
user = array[i].split(",");
console.log("UserID: " + user[0] + " Username: " + user[1]);
}
}
}
DownloadAndUnzip(URL, parseFile())