新手在這裏節點。我試圖下載一個.tar.xz
文件,並將其解壓到通過代碼如下所示的目錄:爲什麼不在這個Node.js代碼中觸發'finish'事件?
var request = require('request');
var tar = require('tar');
var xz = require('xz');
function downloadRaw(url, callback)
{
return request({
encoding: null,
url: url
}, callback);
}
function extractToDirectory(url, directory, callback)
{
return downloadRaw(url)
.pipe(new xz.Decompressor())
.pipe(tar.Extract(directory))
.on('finish', callback);
}
出於某種原因,'finish'
事件的焦油流似乎並沒有被髮射,它完成後,即使提取檔案的內容。 tar是由npm自己維護的庫,所以我認爲我在這裏犯了一些錯誤。無論如何,爲什麼會發生這種情況,我該如何解決這個問題?