Vue取消Axios發(fā)出的請求
一、前言
有的時(shí)候我們需要取消axios發(fā)出的請求,例如在退出頁面時(shí),取消掉仍然在進(jìn)行的請求。
二、AbortController
從 v0.22.0 開始,Axios 支持以 fetch API 方式—— AbortController 取消請求:
const controller = new AbortController(); axios.get('/foo/bar', { signal: controller.signal }).then(function(response) { //... }); // 取消請求 controller.abort()
注意這里在發(fā)送請求時(shí),額外攜帶了一個signal參數(shù):
signal: controller.signal
這是AbortController實(shí)例(controller.abort()
)去取消請求的標(biāo)記。
三、CancelToken
您還可以使用 cancel token 取消一個請求。
- Axios 的 cancel token API 是基于被撤銷 cancelable promises proposal。
- 此 API 從 v0.22.0 開始已被棄用,不應(yīng)在新項(xiàng)目中使用。
可以使用 CancelToken.source 工廠方法創(chuàng)建一個 cancel token ,如下所示:
const CancelToken = axios.CancelToken; const source = CancelToken.source(); axios.get('/user/12345', { cancelToken: source.token }).catch(function (thrown) { if (axios.isCancel(thrown)) { console.log('Request canceled', thrown.message); } else { // 處理錯誤 } }); axios.post('/user/12345', { name: 'new name' }, { cancelToken: source.token }) // 取消請求(message 參數(shù)是可選的) source.cancel('Operation canceled by the user.');
到此這篇關(guān)于Vue取消Axios發(fā)出的請求的文章就介紹到這了,更多相關(guān)Vue Axios內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Vue動態(tài)面包屑功能的實(shí)現(xiàn)方法
面包屑功能是我們在項(xiàng)目中經(jīng)常遇到的功能,今天小編使用Element-UI 進(jìn)行實(shí)現(xiàn)在vue項(xiàng)目中實(shí)現(xiàn)面包屑功能,具體實(shí)現(xiàn)方式大家跟隨小編一起學(xué)習(xí)吧2019-07-07Vue使用axios發(fā)送請求并實(shí)現(xiàn)簡單封裝的示例詳解
這篇文章主要介紹了Vue使用axios發(fā)送請求并實(shí)現(xiàn)簡單封裝,主要包括安裝axios及簡單使用配置方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-06-06關(guān)于ElementPlus中的表單驗(yàn)證規(guī)則詳解
這篇文章主要介紹了關(guān)于ElementPlus中的表單驗(yàn)證,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-06-06Vue draggable實(shí)現(xiàn)從左到右拖拽功能
這篇文章主要為大家詳細(xì)介紹了Vue draggable實(shí)現(xiàn)從左到右拖拽功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-04-04vue+vue-meta-info動態(tài)設(shè)置meta標(biāo)簽教程
這篇文章主要介紹了vue+vue-meta-info動態(tài)設(shè)置meta標(biāo)簽教程,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-04-04