0
我想實現以下錯誤處理:當目標流發出錯誤事件時,我們可以以某種方式重用源流嗎?
- 說我們有一個
readable
流。 - 我們將其管入
transform
流。 - 不知怎的,
transform
流發出error
。 - 我們希望恢復
readable
流(及其所有數據),並將其重新導入另一個transform
流。
步驟4似乎難以:我可以聽到目標流(transform
流)unpipe
事件和檢索到源流(readable
流)基準,但是其數據中的至少一些塊已經丟失。
我們可以在不創建自定義轉換流的情況下做到這一點嗎?
真實世界的例子是deflate
內容編碼,where in some cases,你需要zlib.createInflateRaw()
,而不是zlib.createInflate()
,但我們不能決定哪一個是正確的選擇,看響應體緩衝區之前。
這些天不是大多數網站都支持gzip嗎?只需在您的請求中發送'Accept-Encoding:gzip',您就不必擔心任何泄漏問題。 – mscdex
@mscdex你是對的,但對於一個http庫我們不能忽視那些老式和瘋狂的僅限於deflate的服務器,我最終這樣做,似乎是我目前能做的最好的。 https://github.com/bitinn/node-fetch/blob/master/index.js#L209-L222 – bitinn