我正在使用以下node.js代碼從某些url下載文檔并將其保存在磁盤中。我想知道何時下載該文檔。我沒有看到使用pipe進(jìn)行任何回調(diào)?;蛘?,下載完成后是否可以捕獲任何“結(jié)束”事件?request(some_url_doc).pipe(fs.createWriteStream('xyz.doc'));
3 回答

滄海一幻覺
TA貢獻(xiàn)1824條經(jīng)驗 獲得超5個贊
流是,EventEmitter因此您可以聽某些事件。如您所說,有一個finish請求事件(以前是end)。
var stream = request(...).pipe(...);
stream.on('finish', function () { ... });
有關(guān)可用的事件的更多信息,請查看流文檔頁面。

GCT1015
TA貢獻(xiàn)1827條經(jīng)驗 獲得超4個贊
用于將Web內(nèi)容通過http(s)傳遞到文件系統(tǒng)的代碼段。由于@starbeamrainbowlabs注意到事件finish確實起作用
var tmpFile = "/tmp/somefilename.doc";
var ws = fs.createWriteStream(tmpFile);
ws.on('finish', function() {
// pipe done here, do something with file
});
var client = url.slice(0, 5) === 'https' ? https : http;
client.get(url, function(response) {
return response.pipe(ws);
});
- 3 回答
- 0 關(guān)注
- 863 瀏覽
添加回答
舉報
0/150
提交
取消