codecamp

Body接口属性:body

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

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后面。

Fetch API:Body接口
Body接口属性:bodyUsed
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

Fetch API官方文档指南

Fetch API方法

WindowOrWorkerGlobalScope执行者:window

window属性

WindowOrWorkerGlobalScope执行者:WorkerGlobalScope

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }