国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

vue axios請(qǐng)求成功卻進(jìn)入catch的原因分析

瀏覽:164日期:2022-11-27 09:44:38

問(wèn)題:axios返回200狀態(tài)碼(即請(qǐng)求成功)卻走進(jìn)了catch里面

原因:

1.當(dāng)axios請(qǐng)求完成后走的時(shí)then的代碼塊,如果then代碼塊中存在錯(cuò)誤代碼信息,這時(shí)就會(huì)進(jìn)入catch中拋出異常(注意:此時(shí)控制臺(tái)并不會(huì)報(bào)錯(cuò),因?yàn)殄e(cuò)誤被catch捕獲了

2.axios是異步發(fā)起,若發(fā)起后頁(yè)面刷新,那么就會(huì)丟失當(dāng)前進(jìn)程,導(dǎo)致接收不到。例如 form表單,點(diǎn)擊按鈕提交后,表單會(huì)刷新

補(bǔ)充知識(shí):axios用catch的寫(xiě)法與不使用catch有什么區(qū)別?

官網(wǎng)上的寫(xiě)法:

axios.post(url, data) .then(response => { console.log(response); }) .catch(error => { console.log(error); })

公司項(xiàng)目的寫(xiě)法:

axios.post(url, data) .then(response => { console.log(response); }, error => { console.log(error); })

之前一直沒(méi)有仔細(xì)研究過(guò)then和catch的寫(xiě)法,事實(shí)上,這個(gè)不是 axios catch 的相關(guān) 而是關(guān)于 new Promise() 的then

阮一峰在 promise 文檔中有介紹。

一般來(lái)說(shuō),不要在then方法里面定義 Reject 狀態(tài)的回調(diào)函數(shù)(即then的第二個(gè)參數(shù)),總是使用catch方法。

// badpromise .then(function(data) { // success }, function(err) { // error });// goodpromise .then(function(data) { //cb // success }) .catch(function(err) { // error });

上面代碼中,第二種寫(xiě)法要好于第一種寫(xiě)法,理由是第二種寫(xiě)法可以捕獲前面then方法執(zhí)行中的錯(cuò)誤,也更接近同步的寫(xiě)法(try/catch)。因此,建議總是使用catch方法,而不使用then方法的第二個(gè)參數(shù)。

公司的寫(xiě)法無(wú)法catch第一個(gè)參數(shù)的異常。

這樣寫(xiě)可能容易看懂一些:

axios.post(url, data) .then(response => { //處理邏輯 }, error => { console.log(’接口報(bào)錯(cuò)’); }) .catch(error=>{ console.log(’處理邏輯出錯(cuò)’); })

axios.post(url, data) .then(response => { //處理邏輯 }) .catch(error=>{ console.log(’接口或處理邏輯出錯(cuò)’); })

以上這篇vue axios請(qǐng)求成功卻進(jìn)入catch的原因分析就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: IOS
相關(guān)文章:
主站蜘蛛池模板: 惠州市| 工布江达县| 岐山县| 安福县| 宝鸡市| 长顺县| 甘泉县| 固镇县| 汶上县| 东兴市| 闽侯县| 易门县| 扶余县| 红安县| 碌曲县| 轮台县| 竹溪县| 南城县| 简阳市| 景洪市| 南木林县| 米易县| 泽库县| 龙门县| 华宁县| 天水市| 田阳县| 兰考县| 永昌县| 西吉县| 共和县| 昌都县| 扬中市| 怀宁县| 上饶市| 行唐县| 盐亭县| 八宿县| 嘉荫县| 高邮市| 郁南县|