所以我需要一些帮助来了解管道请求时究竟发生了什么,以及节点 0.10.x 和 4.5.x 之间是否存在差异
我有这样的事情:
function(req, res, next){
if(req.method === 'PUT'){
var putOptions = {
uri: config.url + req.url,
headers: {
token: req.session.token
},
jason: req.body
};
var r = request.put(putOptions, callback);
return req.pipe(r).pipe(res);
}
}
现在这在节点 0.10.x 中可以正常工作,但是在 4.5.x 中我得到“结束后写入”错误,除非我删除req.pipe
-part 并且只是做r.pipe(res)
,然后它在 4.5.x 中可以正常工作。
现在我想要一些帮助来理解这两者之间的区别,真正发生的事情,以及为什么它在不同的节点版本中表现不同。
谢谢你的帮助!
- -更新 - -
好的,所以当我尝试req.pipe(r, {end: false}).pipe(res)
它在 4.5.x 中工作时,我不再收到“结束后写入”错误......我仍然对为什么会有差异感到有点困惑。关于管道的文档没有自 0.10 以来似乎发生了变化