Fetch封裝方法

2021-08-21 14:27:43 字數 1265 閱讀 4744

fetch是乙個與ajax請求功能相似的乙個請求介面,並且只有瀏覽器該方法。fetch的出現一方面是為了緩解原生xmlhttprequest實現起來比較雜亂的問題。下面是乙個例子:

xhr物件實現ajax請求:

xhr.send();用fetch實現ajax請求:

fetch(url, ).then(res=> ).then(data=> ).catch(error=> )
可以看到fetch會比原生xhr簡單很多,並且fetch返回是乙個promise物件。然而,fetch請求預設是不帶 cookie 的,需要設定請求引數,並且當伺服器返回 400,500 錯誤碼時並不會reject,只有網路錯誤這些導致請求不能完成時,fetch才會被reject

因此,在fetch請求時,通常會做一層封裝,我們可以用下面的方式去封裝。

function fetch(url, options) ,

credentials: 'include'

//包含cookie

}// 合併請求

object.assign(init, options);

//get方法:查詢字元附在url後面;

if(init.method == 'get' && options.data || init.method == 'head')

}url = url + '?' + searchstr;

}return fetch(url, init).then( res=> else

return res.json()

}).then(data=> )

.catch(error=> )

}

封裝axios和fetch方法

比較兩種請求方式 3.比較fetch和axios fetch並沒有進行封裝,拿到就是格式化後的資料 3.更多詳情請參考 axios和fetch請求詳解 axios封裝 封裝一下axios 它是乙個函式,因為它要攜帶引數 function request then res resolve res ca...

封裝 原生 fetch

fetch方法是 fetch api的乙個方法,提供了一種簡單 合理的方式來跨網路非同步獲取資源。與原來的xmlhttprequest比較,fetch更容易與其他的技術結合 比如service workers。還提供了單個邏輯位置來定義其他http相關概念,例如cors和http的擴充套件。預設情況...

瀏覽器原生Fetch方法封裝

瀏覽器原生的fetch方法是一種promise形式的非同步互動方法 目前大部分瀏覽器都已支援 ie我沒說你 fetch.js檔案 export function obj2params obj return result result.slice 1 result export const post ...