W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
所述Fetch API提供了用于獲取資源(包括通過網(wǎng)絡(luò))的接口。任何使用過 XMLHttpRequest 的人似乎都會對Fetch API感到熟悉,但它提供了一個更強大和更靈活的功能集。本文解釋了Fetch API的一些基本概念。
本文將隨著時間的推移而添加。如果您發(fā)現(xiàn)您認為需要更好解釋的Fetch概念,請在W3Cschool編程問答中提出您的疑問。
簡單來說,F(xiàn)etch的核心是HTTP Requests,Responses Headers和Bodypayload 的接口抽象,以及一個用于啟動異步資源請求的全局fetch方法。由于HTTP的主要組件被抽象為JavaScript對象,所以其他API可以很容易利用這些功能。
Service Workers是大量使用Fetch API的一個示例。
Fetch將這種請求的異步性質(zhì)進一步提升了一步。API是完全基于Promise的。
Guard是Headers對象的一個特征,具有可能的值有:immutable,request,request-no-cors,response或none,具體取決于header被使用的地方。
當(dāng)使用Headers()構(gòu)造函數(shù)創(chuàng)建新的Headers對象時,其Guard被設(shè)置為none(默認值)。當(dāng)一個Request或一個Response對象被創(chuàng)建時,它有一個關(guān)聯(lián)的Headers對象,它的Guard設(shè)置如下:
新對象的類型 | 創(chuàng)建構(gòu)造函數(shù) | 關(guān)聯(lián)Headers 對象的Guard設(shè)置 |
---|---|---|
Request | Request() | request |
Request() 使用no-cors 的mode | request-no-cors | |
Response | Response() | response |
error() 或redirect() 方法 | immutable |
一個header的Guard影響set()、delete()和append()方法,它改變了header的內(nèi)容。如果你試圖修改其Guard是immutable的Headers對象,則會引發(fā) TypeError。不過,如果這個操作會在下列情況中起作用:
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: