axios中有一個(gè)回調(diào)函數(shù)為 CancelToken 表示您可以使用取消令牌取消請(qǐng)求。axios取消令牌API基于撤銷的可取消承諾提議。但這個(gè)提議在2年前就已經(jīng)取消了。最近發(fā)現(xiàn)公司的vue項(xiàng)目中使用著這個(gè)函數(shù),在一個(gè)提交用戶行為記錄的接口上進(jìn)行的,發(fā)現(xiàn)當(dāng)客戶端手動(dòng)調(diào)用axios.CancelToken 時(shí),服務(wù)端仍保留了這個(gè)操作記錄,在翻查 撤銷的可取消承諾提議 的提交記錄中取消 前一版并未找到取消是在哪一步進(jìn)行的。請(qǐng)問(wèn):axios.CancelToken操作時(shí),斷開操作是在哪一步進(jìn)行的,服務(wù)器端是否已經(jīng)確認(rèn)獲得到當(dāng)次請(qǐng)求的內(nèi)容?
2 回答

繁星淼淼
TA貢獻(xiàn)1775條經(jīng)驗(yàn) 獲得超11個(gè)贊
就是xhr.abort()
,不需要服務(wù)器確認(rèn)。
axios/blob/master/lib/cancel/CancelToken.js#L22
axios/blob/master/lib/adapters/xhr.js#L153
the-abort()-method

呼喚遠(yuǎn)方
TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超11個(gè)贊
分幾塊
請(qǐng)求之前 在請(qǐng)求之前判斷已經(jīng)被取消,拋錯(cuò)誤,走 catch
請(qǐng)求中 調(diào)用 abort
取消,拋錯(cuò)誤,走 catch
請(qǐng)求完成 會(huì)在then
拋出一個(gè)錯(cuò)誤就,走 catch
請(qǐng)求失敗 會(huì)在catch
判斷是否是取消的 error
,不是取消的 error
接著拋錯(cuò),走 catch
- 2 回答
- 0 關(guān)注
- 434 瀏覽
添加回答
舉報(bào)
0/150
提交
取消