【发布时间】:2013-12-02 10:10:32
【问题描述】:
我正在从 fs.createReadStream() 返回的文件流中读取数据,并将其传送到使用 zlib.createGzip() 创建的 gzip 流,然后将 gzip 流传送到 HTTP 响应。
我不确定如何处理这些流上的“错误”事件。我只是想确保所有流都已关闭,记录了错误,并且没有资源泄漏(请注意,文件流的 autoClose 设置为 true)。
例如,如果 fs 读取流发生错误,这将如何影响 gzip 流以及响应流? 'error' 事件会自动传播,还是会未经处理而导致我的应用程序崩溃?我应该在每个流上侦听“错误”事件还是只在链中的最后一个流上侦听?如果我在 fs 流上收听“错误”会发生什么 - gzip 流是否仍会检测到发生了错误?
【问题讨论】: