前端接口調用的幾種方式 ,有原生ajax ,基於jQuery的ajax ,fetch ,axios關於原生ajax ,基於jQuery的ajax都已經簡單介紹過,下面來看看es6接口調用方式
fetch
Fetch API是新的ajax解決方案 Fetch會返回Promise ,fetch不是ajax的進一步封裝,而是原生js,沒有使用XMLHttpRequest對象 ,方法:fetch(url, options).then()
HTTP協議,它給我們提供了很多的方法,如POST,GET,DELETE,UPDATE,PATCH和PUT
默認的是 GET 請求需要在 options 對象中 指定對應的 method method:請求使用的方法post 和 普通 請求的時候 需要在options 中 設置 請求頭 headers 和 body

axios
是一個基於Promise 用於瀏覽器和 nodejs 的 HTTP 客戶端,本質上也是對原生Ajax的封裝,只不過它是Promise的實現版本它支持:
支持瀏覽器和node.js支持promise能攔截請求和響應自動轉換JSON數據能轉換請求和響應數據axios基礎用法
如果是get和 delete請求傳遞參數時
如果通過傳統的url 以 ? 的形式傳遞參數如果通過restful 形式傳遞參數也可以通過params 形式傳遞參數

如果是post 和 put 請求傳遞參數時
通過選項傳遞參數通過 URLSearchParams 傳遞參數

像上圖例裡面我們每個接口都可能有接口請求地址 ,接口地址的前部分(從http到:3000/ )基本都是公共部分 ,那麼我們就能設置公共的請求地址URL ,這就需要全局配置
axios 全局配置

例如:

axios 攔截器
請求攔截器例如在每個請求體裡加上token,統一做了處理如果以後要改也非常容易請求攔截器的作用是在請求發送前進行一些操作響應攔截器例如在伺服器返回登錄狀態失效,需要重新登錄的時候,跳轉到登錄頁響應攔截器的作用是在接收到響應後進行一些操作

es6中async 函數 和 await的用法
1.async作為一個關鍵字放到函數前面
任何一個async函數都會隱式返回一個promise
2.await關鍵字只能在使用async定義的函數中使用
await後面可以直接跟一個 Promise實例對象
await函數不能單獨使用必須配合async使用


所以他的優點:async/await 讓異步代碼看起來、表現起來更像同步代碼 ,簡化異步操作

axios同時請求多個api

async/await處理多個異步任務
