溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Fetch有什么用

發(fā)布時(shí)間:2021-09-09 10:54:13 來源:億速云 閱讀:129 作者:小新 欄目:編程語言

這篇文章主要為大家展示了“Fetch有什么用”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“Fetch有什么用”這篇文章吧。

Fetch 的概念

Fetch 提供了對(duì) Request 和 Response (以及其他與網(wǎng)絡(luò)請(qǐng)求有關(guān)的)對(duì)象的通用定義。使之今后可以被使用到更多的應(yīng)用場(chǎng)景中:無論是 service worker、Cache API、又或者是其他處理請(qǐng)求和響應(yīng)的方式,甚至是任何一種需要你自己在程序中生成響應(yīng)的方式。

它同時(shí)還為有關(guān)聯(lián)性的概念,例如CORS和HTTP原生頭信息,提供一種新的定義,取代它們?cè)瓉砟欠N分離的定義。

發(fā)送請(qǐng)求或者獲取資源,需要使用 WindowOrWorkerGlobalScope.fetch() 方法。它在很多接口中都被實(shí)現(xiàn)了,更具體地說,是在 Window 和 WorkerGlobalScope 接口上。因此在幾乎所有環(huán)境中都可以用這個(gè)方法獲取到資源。

兼容性

要看一個(gè)新的 API 會(huì)不會(huì)火起來,最簡(jiǎn)單的辦法就是看它的兼容性,畢竟,如果兼容性不好,那再好用的 API 也很難火起來。

Fetch 方法對(duì)除 IE 之外的瀏覽器來說,兼容性簡(jiǎn)直不要太好,這可以說是已經(jīng)擁有了大火的前提條件。

和 AJAX 的區(qū)別

既然是用來替代 AJAX 的,那必然是有一些 AJAX 所不具備的特性優(yōu)勢(shì)了,否則,憑啥取代啊。

總結(jié)一下,區(qū)別如下:

Fetch 使用 Promise,不使用回調(diào)函數(shù),因此大大簡(jiǎn)化了寫法,寫起來更簡(jiǎn)潔。

Fetch 采用模塊化設(shè)計(jì),API 分散在多個(gè)對(duì)象上(Response 對(duì)象、Request 對(duì)象、Headers 對(duì)象),更合理一些;相比之下,XMLHttpRequest 的 API 設(shè)計(jì)并不是很好,輸入、輸出、狀態(tài)都在同一個(gè)接口管理,容易寫出非?;靵y的代碼。

Fetch 通過數(shù)據(jù)流(Stream 對(duì)象)處理數(shù)據(jù),可以分塊讀取,有利于提高網(wǎng)站性能表現(xiàn),減少內(nèi)存占用,對(duì)于請(qǐng)求大文件或者網(wǎng)速慢的場(chǎng)景相當(dāng)有用。XMLHTTPRequest 對(duì)象不支持?jǐn)?shù)據(jù)流,所有的數(shù)據(jù)必須放在緩存里,不支持分塊讀取,必須等待全部拿到后,再一次性吐出來。

Fetch 是相當(dāng)符合潮流的,至少,我們可以少寫很多回調(diào)函數(shù)了,代碼的逼格也可以有所提升了。

Fetch 的用法

fetch() 方法必須接受一個(gè)參數(shù)——資源的路徑。無論請(qǐng)求成功與否,它都返回一個(gè) Promise 對(duì)象,resolve 對(duì)應(yīng)請(qǐng)求的 Response?;菊Z法如下:

fetch(url)
  .then(...)
  .catch(...)

以上是“Fetch有什么用”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI