react中axios取消請求

常規(guī)的axios取消請求方式:

v0.22.0及之后版本
const controller = new AbortController();

axios.get('/user/12345', {
   signal: controller.signal
}).then(function(response) {
   //處理錯誤
});
// 取消請求
controller.abort()
v0.22.0之前版本
const CancelToken = axios.CancelToken;
const source = CancelToken.source();

axios.get('/user/12345', {
  cancelToken: source.token
}).catch(function (thrown) {
  // 處理錯誤
});

// 取消請求(message 參數(shù)是可選的)
source.cancel('Operation canceled by the user.');
針對post請求并且設(shè)置了onUploadProgress的情況,上述代碼不起作用,需要用useState
const [controller, setController] = useState(new AbortController());

axios.get('/user/12345', {
   signal: controller.signal
}).then(function(response) {
   //處理錯誤
});
// 取消請求
controller.abort()
//解決下次不能發(fā)請求問題
setController(new AbortController())
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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

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