Body接口属性:body

2018-01-24 10:27 更新

使用此功能之前,请仔细检查浏览器兼容性表。

Body mixin的body只读属性是一个简单的getter,用于发现一个主体内容的ReadableStream。

body语法

var stream = responseInstance.body;

取值

一个ReadableStream。

body属性示例

在我们简单的stream pump示例中,我们获取一个图像,使用response.body来公开响应的流,使用ReadableStream.getReader()来创建读取器,然后将该流的块排入第二个自定义可读流 - 有效地创建一个相同的图像的副本。

const image = document.getElementById('target');

// Fetch the original image
fetch('./tortoise.png')
// Retrieve its body as ReadableStream
.then(response => response.body)
.then(body => {
  const reader = body.getReader();

  return new ReadableStream({
    start(controller) {
      return pump();

      function pump() {
        return reader.read().then(({ done, value }) => {
          // When no more data needs to be consumed, close the stream
          if (done) {
            controller.close();
            return;
          }

          // Enqueue the next data chunk into our target stream
          controller.enqueue(value);
          return pump();
        });
      }
    }
  })
})
.then(stream => new Response(stream))
.then(response => response.blob())
.then(blob => URL.createObjectURL(blob))
.then(url => console.log(image.src = url))
.catch(err => console.error(err));

规范

规范状态注释
Fetch
该规范中“body”的定义。
Living Standard
 

浏览器兼容性

  • 电脑端
FeatureChrome
Firefox(Gecko)
Internet Explorer
Opera
Safari(WebKit)
基本的支持

支持:52.0

不支持[1]不支持

支持:39

  • 移动端
FeatureAndroid WebviewChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
基本的支持
支持:52支持:52不支持[1]不支持支持:39?

表中的注释:

[1]可读流目前在Firefox中启用,但隐藏在dom.streams.enabled和javascript.options.streamsprefs后面。

以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号