一個(gè)axios的簡(jiǎn)單教程

首先要明白的是axios是什么:axios是基于promise(諾言)用于瀏覽器和node.js是http客戶(hù)端。

axios的作用是什么呢:axios主要是用于向后臺(tái)發(fā)起請(qǐng)求的,還有在請(qǐng)求中做更多是可控功能。

特點(diǎn):支持瀏覽器和node.js

? ? ? ? ? ? 支持promise

? ? ? ? ? ? 能攔截請(qǐng)求和響應(yīng)

? ? ? ? ? ? 能轉(zhuǎn)換請(qǐng)求和響應(yīng)數(shù)據(jù)

? ? ? ? ? ? 能取消請(qǐng)求

? ? ? ? ? ? 自動(dòng)轉(zhuǎn)換JSON數(shù)據(jù)

? ? ? ? ? ? ?瀏覽器支持防止CSRF(跨站請(qǐng)求偽造)

這里你一定會(huì)想promise是什么東西,以下是promise的個(gè)人理解:

promise是什么:是一個(gè)對(duì)象用來(lái)傳遞異步操作的信息,它代表了某個(gè)未來(lái)才會(huì)知道結(jié)果的事件(通常是一個(gè)異步操作),并且這個(gè)事件提供統(tǒng)一的api,可供進(jìn)一步的處理。

promise的作用:Promise的出現(xiàn)主要是解決地獄回調(diào)的問(wèn)題,比如你需要結(jié)果需要請(qǐng)求很多個(gè)接口,這些接口的參數(shù)需要另外那個(gè)的接口返回的數(shù)據(jù)作為依賴(lài),這樣就需要我們一層嵌套一層,但是有了Promise 我們就無(wú)需嵌套。

promise的本質(zhì)是什么:分離異步數(shù)據(jù)獲取和業(yè)務(wù)

基本使用方法:

axios執(zhí)行GET請(qǐng)求

GET?請(qǐng)求方法

執(zhí)行POST請(qǐng)求

POST請(qǐng)求方法

執(zhí)行多個(gè)并發(fā)請(qǐng)求

多個(gè)并發(fā)請(qǐng)求

get和post都是基于promise的所以寫(xiě)法上很相似,是用then和catch,使用這種方法來(lái)進(jìn)行發(fā)送請(qǐng)求。

還有一個(gè)axios重要的知識(shí)點(diǎn)就是攔截器

攔截器

在請(qǐng)求或響應(yīng)被?then?或?catch?處理前攔截它們(攔截器可以做什么:在請(qǐng)求或者響應(yīng)時(shí)攔截下來(lái)進(jìn)行處理)

攔截器分為請(qǐng)求攔截器和響應(yīng)攔截器

請(qǐng)求攔截器(interceptors.requst)是指可以攔截每次或指定HTTP請(qǐng)求,并可修改配置項(xiàng)。

響應(yīng)攔截器(interceptors.response)可以在每次HTTP請(qǐng)求后攔截住每次或指定HTTP請(qǐng)求,并可修改返回結(jié)果項(xiàng)。


攔截器的寫(xiě)法

攔截器的工作流程:

攔截器工作流程

移除攔截器

移除攔截器

自定義 axios 實(shí)例添加攔截器

添加攔截器

取消

使用?cancel token?取消請(qǐng)求

可以使用?CancelToken.source?工廠方法創(chuàng)建 cancel token

參考資料:axios中文文檔

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容