Node.js 中 stream.pipeline 的错误处理与资源释放实践
在 Node.js 里用 stream.pipeline 处理文件上传、日志落盘或数据转换时,经常遇到管道中途报错后文件句柄没有释放、临时文件残留、或者错误被吞掉导致进程卡住的情况。这类问题通常出现在源流读取失败、目标流写入超时、或者中间 transform 抛出异常的场景。pipeline 本身会尝试销毁所有流并回调错误,但如果不了解它和 pipeline 回调的配合方式,很容易在回调里又去操作已经销毁的流,或者在多个管道串联时漏掉某个分支的错误监听。这篇文章从实际代码出发,梳理 pipeline 的销毁...