express的依赖模块send中this.res是从哪里初始的
发布于 6 年前 作者 icantunderstand 2888 次浏览 来自 问答

在看express的源码的时候 发现它的一个依赖库send 主要为了流式发送文件等 在看这个模块的代码的时候 发现里面有下面这段 image.png 这个模块继承了stream模块 通过看node lib下的stream模块 没有发现在哪里初始了this.res
想的一个原因是express中调用的时候 res绑定到res上 通过原型查找到(因为代码中有句this.req = req这个req是在初始的时候传入 的)对这部分的理解不好 但是通常情况下使用这个模块呢 这个res是在哪里初始的呢。 image.png image.png

3 回复

有点不明白这里

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

  // references
  this.res = res // I`m here!

在 pipe () {} 定义的, error 只会在 pipe 触发之后被调用, 在这里定义没毛病

多谢 我应该先看怎么用这个模块 在去看这个源码 有点着急了 卡在这个this.res这里了

回到顶部