--- title: Response.body slug: Web/API/Response/body translation_of: Web/API/Response/body tags: - API - Fetch - Property - Reference - Streams - Response browser-compat: api.Response.body ---
{{domxref("Response")}} mixin的只读getter属性 body
用于暴露其body内容的{{domxref("ReadableStream")}}(流读取)。
var stream = responseInstance.body;
一个 {{domxref("ReadableStream")}}.
在我们的 simple stream pump 例程中我们fetch一个图片地址,使用response.body
暴露响应的流,用{{domxref("Response.getReader()", "ReadableStream.getReader()")}}创建一个读取器,然后将其置入第二个自定义读取流中——有效的创建了一个完全相同的图片副本。
const image = document.getElementById('target'); // 请求原始图片 fetch('./tortoise.png') // 取出body .then(response => response.body) .then(body => { const reader = Response.getReader(); return new ReadableStream({ start(controller) { return pump(); function pump() { return reader.read().then(({ done, value }) => { // 读不到更多数据就关闭流 if (done) { controller.close(); return; } // 将下一个数据块置入流中 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));
规范 | 状态 | 备注 |
---|---|---|
{{SpecName('Fetch','#dom-body-body','body')}} | {{Spec2('Fetch')}} |