我想通過擴展stream.Readable來實現可讀流。超類流的問題。複雜的
根據文檔,我所要做的就是實現_read()。
我不明白的是在_read中如何處理沒有數據的數據,或者一旦我再次獲取數據時如何觸發另一個_read調用。在Readable中我沒有看到一個概念來處理緩慢或延遲傳遞的數據。我可以看到_read()在調用pipe()函數後立即被調用。
如果在_read任何時候,我都沒有數據我有不提供返回,似乎_read永遠不會再次調用。一旦數據準備就緒,我嘗試發出可讀的事件,但不會觸發對_read的調用。
這個問題並不僅僅發生在啓動,但每當我需要源的交付時間可能會發生。 Stream.Readable不支持緩慢的來源嗎?
謝謝,這樣做的工作。爲什麼它不在文檔中? – Thomas
如果您認爲它不夠清楚,請考慮在節點repo中提交一個PR,並改變措辭。有時候,對於那些長期在代碼庫中工作的人來說,第一次來這個項目的用戶可能會很困難。 – mscdex