Body接口屬性:body

2018-01-24 10:27 更新

使用此功能之前,請(qǐng)仔細(xì)檢查瀏覽器兼容性表。

Body mixin的body只讀屬性是一個(gè)簡(jiǎn)單的getter,用于發(fā)現(xiàn)一個(gè)主體內(nèi)容的ReadableStream。

body語(yǔ)法

var stream = responseInstance.body;

取值

一個(gè)ReadableStream。

body屬性示例

在我們簡(jiǎn)單的stream pump示例中,我們獲取一個(gè)圖像,使用response.body來(lái)公開響應(yīng)的流,使用ReadableStream.getReader()來(lái)創(chuàng)建讀取器,然后將該流的塊排入第二個(gè)自定義可讀流 - 有效地創(chuàng)建一個(gè)相同的圖像的副本。

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));

規(guī)范

規(guī)范狀態(tài)注釋
Fetch
該規(guī)范中“body”的定義。
Living Standard
 

瀏覽器兼容性

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

支持:52.0

不支持[1]不支持

支持:39

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

表中的注釋:

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

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)