Node.js GET请求后.then(resp => resp.body)是否是返回响应体?
你的理解是完全正确的。
这是Promise链式调用中非常常见的简化写法,通常出现在HTTP请求调用的后续逻辑中:前置的GET请求执行完成后,会把完整的响应对象resp传入then的回调函数,这段代码的核心作用就是从完整响应对象中提取body字段(也就是接口返回的实际响应内容,可能是JSON、文本、二进制数据等业务层需要的内容),并将它作为返回值传递给Promise链的下一个环节。
其中的箭头函数是简写形式,等价于完整写法:
.then(function(resp) { return resp.body; })
这类写法的使用场景也很普遍:Node生态中绝大多数HTTP请求库(比如got、undici等,甚至前端的fetch、axios也有类似封装)都会把响应状态码、响应头、请求元信息、响应体等内容统一封装到响应对象里,业务侧如果只需要用到响应体内容,加这一行做字段提取可以简化后续链式调用的参数处理,不需要每次都从完整响应对象里重复取body字段。
内容的提问来源于stack exchange,提问作者sushifl0p
相关产品推荐
相关产品推荐

