Body執(zhí)行者:Response

2018-03-05 11:36 更新

Response

Fetch API 的 Response 接口用于表示對請求的響應(yīng)。

您可以使用 Response.Response() 構(gòu)造函數(shù)創(chuàng)建一個新的 Response 對象,但您更可能遇到由于另一個 API 操作(例如一個 service worker:Fetchevent.respondWith或簡單的 GlobalFetch.fetch() 操作)而返回的 Response 對象。

Response構(gòu)造函數(shù)

Response()
創(chuàng)建一個新的Response對象。

Response屬性

Response.headers 只讀
包含與響應(yīng)關(guān)聯(lián)的Headers對象。
Response.ok 只讀
包含一個布爾值,說明響應(yīng)是否成功(狀態(tài)在200-299范圍內(nèi))。
Response.redirected 只讀
指示響應(yīng)是否是重定向的結(jié)果;也就是說,它的 URL 列表有多個條目。
Response.status 只讀
包含響應(yīng)的狀態(tài)代碼(例如,200表示成功)。
Response.statusText 只讀
包含與狀態(tài)碼相對應(yīng)的狀態(tài)消息(例如,OK用于 200)。
Response.type 只讀
包含響應(yīng)的類型(例如basic,cors)。
Response.url 只讀
包含響應(yīng)的URL。
Response.useFinalURL
包含一個布爾值,說明這是否是響應(yīng)的最終URL。

使用 Response 實現(xiàn) Body,所以它也有以下可用的屬性:

Body.body 只讀
一個簡單的 getter,用于暴露ReadableStream正文內(nèi)容。
Body.bodyUsed 只讀
存儲一個Boolean聲明該身體是否已用于響應(yīng)中的聲明。

Response方法

Response.clone()
創(chuàng)建一個Response對象的克隆。
Response.error()
返回Response與網(wǎng)絡(luò)錯誤關(guān)聯(lián)的新對象。
Response.redirect()
使用其他網(wǎng)址創(chuàng)建新的回復(fù)。

使用 Response 實現(xiàn) Body,所以它也有以下方法可用:

Body.arrayBuffer()
采取Response流并閱讀完成。它返回一個以“ArrayBuffer” 處理的 promise。
Body.blob()
采取Response流并閱讀完成。它返回一個以Blob處理的 promise。
Body.formData()
采取Response流并閱讀完成。它返回一個用FormData對象解決的 promise。
Body.json()
采取Response流并閱讀完成。它返回一個承諾,將解析正文文本的結(jié)果解析為JSON。
Body.text()
采取Response流并閱讀完成。它返回一個用USVString(文本)來解決的 promise。

Response實例

在我們的基本的 fetch 示例中,我們使用一個簡單的 fetch() 調(diào)用來獲取圖像并將其顯示在 <img> 標(biāo)簽中。該 fetch() 調(diào)用返回一個 promise,它通過與資源獲取操作關(guān)聯(lián)的 Response 對象來解決。你會注意到,因為我們正在請求一個圖像,我們需要運(yùn)行 Body.blob(Response 實現(xiàn) body)來為響應(yīng)提供正確的 MIME類型。

var myImage = document.querySelector('.my-image');
fetch('flowers.jpg').then(function(response) {
  return response.blob();
}).then(function(blob) {
  var objectURL = URL.createObjectURL(blob);
  myImage.src = objectURL;
});

您也可以使用 Response.Response() 構(gòu)造函數(shù)來創(chuàng)建自己的自定義 Response 對象:

var myResponse = new Response();

規(guī)范

規(guī)范 狀態(tài) 注釋
Fetch
該規(guī)范中'Respone'的定義。
Living Standard
初始定義

瀏覽器兼容性

電腦端 移動端
Chrome
Edge
Firefox(Gecko)
Internet Explorer
Opera
Safari(WebKit)
Android Webview
Chrome for Android
Edge Mobile Firefox Mobile (Gecko)               Opera Mobile
iOS Safari
基本支持 支持:42 支持 支持:39 不支持 支持:29 支持:10.1 支持:42 支持:42 支持 支持 支持:29 支持:10.1
Response() 構(gòu)造函數(shù) 支持:42 支持:15 支持:39 不支持 支持:29 支持:10.1 支持:42 支持:42 支持 支持 支持:29 支持:10.3
headers 支持:42 支持
支持:39 不支持
支持:29 不支持 不支持 不支持
支持 不支持 不支持 不支持
ok
支持:42 支持 支持:39 不支持
支持:29 不支持 不支持 不支持 不支持 不支持 不支持 不支持
redirected
支持:60 支持
支持:49 不支持
支持:47 不支持 支持:60 支持:60 支持 支持:49 支持:47 不支持
status
支持:42 支持
支持:39 不支持
支持:29 不支持 不支持 不支持 支持 不支持 不支持 不支持
statusText
支持:42 支持
支持:39 不支持
支持:29 不支持 不支持 不支持 支持 不支持 不支持 不支持
type
支持:42
支持
支持:39 不支持
支持:29 不支持 不支持 不支持 支持 不支持 不支持 不支持
url
支持:42 支持
支持:39 不支持
支持:29 不支持 不支持 不支持
支持 不支持
不支持
不支持
useFinalURL
支持:42 支持
支持:39 不支持
支持:29 不支持 不支持
不支持
支持 支持:39 不支持
不支持
clone
支持:42 支持
支持:39 不支持
支持:29 不支持 不支持
不支持
支持 不支持
不支持
不支持
error
支持 ? 支持
不支持
支持 不支持
不支持
不支持
? 不支持
不支持
不支持
redirect
支持 ? 支持
不支持
支持 不支持 不支持
不支持
不支持
不支持
不支持 
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號