1

所以我需要一些帮助来了解管道请求时究竟发生了什么,以及节点 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 以来似乎发生了变化

4

0 回答 0