# 响应
### 建设者
#### 句法
~~~javascript
new Response(body, init)
~~~
#### 参量
* `body`(可选):定义响应正文的对象。可以是`null`以下值之一:
* [`BufferSource`](https://developer.mozilla.org/en-US/docs/Web/API/BufferSource)
* [`FormData`](https://developer.mozilla.org/en-US/docs/Web/API/FormData)
* [`ReadableStream`](https://developer.mozilla.org/en-US/docs/Web/API/ReadableStream)
* [`URLSearchParams`](https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams)
* [`USVString`](https://developer.mozilla.org/en-US/docs/Web/API/USVString)
* `init`(可选):一个`options`对象,该对象包含要应用于响应的自定义设置。有效选项包括:
* `status`:响应的状态码,例如`200`。
* `statusText`:与状态代码关联的状态消息,例如`OK`。
* `headers`:包含在键/值对的[`Headers`](https://developers.cloudflare.com/workers/reference/apis/fetch#headers)对象或对象文字中的要添加到响应中的任何标头[`ByteString`](https://developer.mozilla.org/en-US/docs/Web/API/ByteString)。
### Properties 属性
* `body`:一个简单的获取方法,用于公开其中[`ReadableStream`](https://developers.cloudflare.com/workers/reference/apis/streams)的内容。
* `bodyUsed`:一个布尔值,它声明响应中是否使用了正文。
* `headers`:包含与请求关联的[Headers](https://developers.cloudflare.com/workers/reference/apis/fetch#headers)对象。
* `ok`:包含一个布尔值,用于指示响应是否成功(状态范围为200-299)。
* `redirected`:指示响应是否是重定向的结果,也就是说,其URL列表包含多个条目。
* `status`:包含响应的状态码(例如,`200`表示成功)。
* `statusText`:包含与状态代码相对应的状态消息(例如,`OK`用于`200`)。
* `url`:包含响应的URL。该`url`属性的值是任何重定向后获得的最终URL。
* `webSocket`:这在成功的WebSocket握手响应中存在。例如,如果客户端将WebSocket升级请求发送到原始站点,而工作进程截获该请求,然后将其转发到该原始站点,并且该原始站点以成功的WebSocket升级响应进行回复,则该工作进程会看到`response.webSocket`。这将建立一个通过工作程序代理的WebSocket连接。请注意,您无法拦截通过WebSocket连接流过的数据。
### 方法
* [`Response.clone()`](https://developer.mozilla.org/en-US/docs/Web/API/Response/clone):创建[`Response`](https://developers.cloudflare.com/workers/reference/apis/response/#response)对象的副本。
* [`Response.redirect()`](https://developer.mozilla.org/en-US/docs/Web/API/Response/redirect):使用其他网址创建新的回复。
* [`Response`](https://developers.cloudflare.com/workers/reference/apis/response/#response):实现[`Body`](https://developer.mozilla.org/en-US/docs/Web/API/Body)并具有以下可用方法:
* [`Body.arrayBuffer()`](https://developer.mozilla.org/en-US/docs/Web/API/Body/arrayBuffer):获取[`Response`](https://developers.cloudflare.com/workers/reference/apis/response/#response)流,将其读取完成,然后返回以解析的Promise[`ArrayBuffer`](https://developer.mozilla.org/en-US/docs/Web/API/ArrayBuffer)。
* [`Body.formData()`](https://developer.mozilla.org/en-US/docs/Web/API/Body/formData):获取[`Response`](https://developers.cloudflare.com/workers/reference/apis/response/#response)流,将其读取到完成,然后返回与[`FormData`](https://developer.mozilla.org/en-US/docs/Web/API/FormData)对象一起解析的Promise。
* [`Body.json()`](https://developer.mozilla.org/en-US/docs/Web/API/Body/json):获取一个[`Response`](https://developers.cloudflare.com/workers/reference/apis/response/#response)流,读取它的内容以完成操作,然后返回一个promise,该promise将正文文本解析为[`JSON`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON)。
* [`Body.text()`](https://developer.mozilla.org/en-US/docs/Web/API/Body/text):获取一个[`Response`](https://developers.cloudflare.com/workers/reference/apis/response/#response)流,读取它的内容以完成操作,并返回一个以[`USVString`](https://developer.mozilla.org/en-US/docs/Web/API/USVString)(文本)解析的promise。
- 关于本翻译文档
- 快速开始
- 模版库
- 讲解
- Workers页面
- 从0开始
- 从已有页面开始
- 从已有Worder开始
- 工具
- Cli工具 wrangler
- 安装
- 指令
- 配置
- 环境
- Webpack
- 密钥
- KV
- 网站
- Playground
- ServerLess插件
- Terraform
- REST API
- Making Requests
- Scripts
- Bindings
- Routes
- Integrations
- 相关
- 工作原理
- 安全
- 使用缓存
- 价格
- Routes
- Limits
- 提示
- 调试技巧
- 调试header
- FetchEvent生命周期
- 请求上下文
- 请求sign
- 参考
- runtime API
- Web Standards
- fetch
- fetchEvent
- Response
- Request
- KV
- Environment Variables
- Streams
- Encoding
- Web Crypto
- Cache API
- HTMLRewriter
- Workers KV
- Use cases
- Namespaces