NodeJS请求模块-http上的body.IncomingMessage
NodeJS request module - body on http.IncomingMessage?
我正在研究节点的请求模块,文档中说回调接受三个参数——error
、response
(http.IncomingMessage
)和body
。
在发出请求时,我发现该body也可用作response
对象的属性
这可靠吗?我可以省略回调中的最后一个参数,改为使用response.body
吗?
response.body
并不总是与body
参数相同。如果请求对响应进行任何处理,例如解压缩,则body
自变量将是该处理的结果,但response.body
可能不反映该处理。您应该使用response
参数。以下是文档中的一个示例:
为了向后兼容,不支持响应压缩违约要接受gzip压缩响应,请将gzip选项设置为是的。请注意,通过请求传递的主体数据是自动的在响应对象未修改且将包含压缩数据,如果服务器发送了压缩响应。
是的,body
只是response.body
的一个便利,因此它们保证始终相同。
您可以通过检查源代码来验证这一点。
self.emit('complete', response, response.body)
并且在同一文件中的其他地方处理CCD_ 14事件
self.on('error', self.callback.bind())
self.on('complete', self.callback.bind(self, null))
这仅适用于传递给回调的response
。传递给响应事件的response
对象是标准的http.IncomingMessage
,因此没有body
属性。
相关文章:
- 不同页面背景的body标记上的角度ng样式
- contentWindow.document.body is null
- 在jQuery中使用$('body').html('')意味着什么
- 如果在iframe中查看页面,如何在Wordpress中添加body类
- '这'内部'body'标签
- node js post request.body undefined
- jQuery body onChange具有多个元素和多个函数
- 从二维数组中获取img src和img维度,并在body中显示
- 修改body's在第一次绘画前上课
- 节点.js快速删除 req.body 不起作用
- 为什么body元素上的onclick事件不起作用
- 在xsl中为body onload添加一个值
- body onLoad未调用动态生成的javascript函数
- 我的'body'css背景图像在chrome中跳跃
- 在node.jsexpress应用程序中,req.body没有得到<text区域>价值
- Worklight Client使用自定义BODY参数调用过程
- javascriptexecutor-不能点击body样式标记为“”的元素;溢出:隐藏;
- 如何从未定义的表单中获取req.body
- NodeJS请求模块-http上的body.IncomingMessage
- Jest - querySelector('html, body') 返回奇怪的对象