3.2.3 Response 对象

1. 只读属性

  1. ok 布尔值,表示响应是否成功(status 在 200–299 之内)

  2. status,响应的 status code

  3. statusText,status code 对应的 status message

  1. url,响应的 url

  2. redirected 布尔值,表示响应是否是重定向(其 URL 列表会有多个条目)的结果

  1. type,响应的类型,比如 basic, cors

  2. headers,响应的 Headers 对象

  1. bodyUsed 布尔值,表示响应中是否用了 body

  2. body,正文内容的 ReadableStream

2. 方法

返回一个 Promise,是用 Response 的 body 解析成特定格式的

  1. json() JSON 格式

  2. formData() FormData 表示

  3. text() text 表示

  4. blob() Blob 表示

  5. arrayBuffer() ArrayBuffer 表示

  1. error() 返回一个新的 Response 对象,用一个网络错误

  2. redirect() 创建一个新的 Response 对象,用一个不同的 URL

  3. clone() 创建一个 Response 对象的克隆

3. 相关格式

3.1 FormData

FormData 接口可以构造一组表示表单字段及其值的键/值对,其格式和编码类型是 'multipart/form-data' 的表单用的格式相同。

3.2 Blob

Blob 对象表示一个 blob,它是一个不可变原始数据的 file-like 对象。

a small amount or drop of sth, especially a liquid. a small area of color

Blob 可以作为文本或者二进制数据读取,也可以转换为 ReadableStream 以便使用其方法处理数据。它可以表示不一定是 JavaScript 原生格式的数据,比如 File 接口就是继承自 Blob 的。

fetch('flowers.jpg')
.then((response) => response.blob()) // 使用 blob() 以给响应正确的 MIME type
.then((blob) => {
  const objectURL = URL.createObjectURL(blob)
  image.src = objectURL
})

4. 主要参考

Last updated