当我阅读npm包发送时,this.res来自哪里

时间:2018-01-10 02:26:37

标签: node.js express

我是nodejs的新手,我正在学习如何表达工作。我在npm找到了一个包{@ 1}}。所以我阅读了代码,但我有一个问题In [17]: parts = re.findall(r'\n\nPART.+', s) In [18]: parts Out[18]: ['\n\nPART I, WHERE I’M COMING FROM', '\n\nPART II, LIFE PRINCIPLES', '\n\nPART III, WORK PRINCIPLES #dot stops at \n, I desire to solve the problem with quantifier(multipy many stops) In [20]: parts = re.findall(r'\n\n(?:PART.+)+', s) In [21]: parts Out[21]: ['\n\nPART I, WHERE I’M COMING FROM', '\n\nPART II, LIFE PRINCIPLES', '\n\nPART III, WORK PRINCIPLES'] #Unfortunately, it prints the same output 来自哪里。

send

我读取了send模块继承的stream的构造函数。我在该构造函数中找不到this.res。如果你能给一些想法找到。它会有很大的帮助。

1 个答案:

答案 0 :(得分:0)

我认为this.res仅在您致电.pipe() here in the code时设置:

SendStream.prototype.pipe = function pipe (res) {
  // root path
  var root = this._root

  // references
  this.res = res;                    // <=========== here's where it is set

  // decode the path
  var path = decode(this.path)
  if (path === -1) {
    this.error(400)
    return res
  }
  ....
}

而且,由于此库的目的似乎是将数据流式传输到http响应,因此您使用此库的方式似乎始终为send(...).pipe(res)