轉載於:https://www.jianshu.com/p/13cf01cdb81fnode
轉載僅供我的學習ios
首先要明白的是axios是什麼:axios是基於promise(諾言)用於瀏覽器和node.js是http客戶端。axios
axios的做用是什麼呢:axios主要是用於向後臺發起請求的,還有在請求中作更可能是可控功能。api
特色:支持瀏覽器和node.jspromise
支持promise瀏覽器
能攔截請求和響應併發
能轉換請求和響應數據異步
能取消請求post
自動轉換JSON數據學習
瀏覽器支持防止CSRF(跨站請求僞造)
這裏你必定會想promise是什麼東西,如下是promise的我的理解:
promise是什麼:是一個對象用來傳遞異步操做的信息,它表明了某個將來纔會知道結果的事件(一般是一個異步操做),而且這個事件提供統一的api,可供進一步的處理。
promise的做用:Promise的出現主要是解決地獄回調的問題,好比你須要結果須要請求不少個接口,這些接口的參數須要另外那個的接口返回的數據做爲依賴,這樣就須要咱們一層嵌套一層,可是有了Promise 咱們就無需嵌套。
promise的本質是什麼:分離異步數據獲取和業務
get和post都是基於promise的因此寫法上很類似,是用then和catch,使用這種方法來進行發送請求。
還有一個axios重要的知識點就是攔截器
在請求或響應被 then 或 catch 處理前攔截它們(攔截器能夠作什麼:在請求或者響應時攔截下來進行處理)
攔截器分爲請求攔截器和響應攔截器
請求攔截器(interceptors.requst)是指能夠攔截每次或指定HTTP請求,並可修改配置項。
響應攔截器(interceptors.response)能夠在每次HTTP請求後攔截住每次或指定HTTP請求,並可修改返回結果項。
使用 cancel token 取消請求
可使用 CancelToken.source 工廠方法建立 cancel token
參考資料:axios中文文檔