W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
使用此功能之前,請(qǐng)仔細(xì)檢查瀏覽器兼容性表。
Body mixin的body只讀屬性是一個(gè)簡(jiǎn)單的getter,用于發(fā)現(xiàn)一個(gè)主體內(nèi)容的ReadableStream。
var stream = responseInstance.body;
一個(gè)ReadableStream。
在我們簡(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ī)范 | 狀態(tài) | 注釋 |
---|---|---|
Fetch 該規(guī)范中“body”的定義。 | Living Standard |
Feature | Chrome | Firefox(Gecko) | Internet Explorer | Opera | Safari(WebKit) |
---|---|---|---|---|---|
基本的支持 | 支持:52.0 | 不支持[1] | 不支持 | 支持:39 | ? |
Feature | Android Webview | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
基本的支持 | 支持:52 | 支持:52 | 不支持[1] | 不支持 | 支持:39 | ? |
表中的注釋:
[1]可讀流目前在Firefox中啟用,但隱藏在dom.streams.enabled和javascript.options.streamsprefs后面。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: