我有一个节点http服务器,它将大量数据从上游源传输到客户端。我的代码如下所示:Nodejs:在将数据传输到客户端时处理错误
handleRequest = function(req, res) {
var readable_stream = fetchDataFromUpstream();
res.statusCode = 200;
readable_stream.pipe(res);
}
我的上游源可能会发出错误。处理它们的正确方法是什么?理想情况下,我想记录错误并向客户发送一个500状态响应报告问题。但是,如果错误发生在读取原始数据的中途,设置正确的状态为时已晚,对吗?我不想等到我开始将其发送到客户端之前将所有数据存储在内存中,因为它有很多数据。有没有一种干净的方式来处理这个问题?
我使用管道而不是回调的原因是为了避免内存中的所有数据,因为它可以是多个兆字节的内存...... – josh
嗯。也许你应该改说你的问题 –