axios CancelToken操作时,服务器端是否已经接收到了请求?

axios中有一个回调函数为 CancelToken 表示您可以使用取消令牌取消请求。

axios取消令牌API基于撤销的可取消承诺提议。但这个提议在2年前就已经取消了。

最近发现公司的vue项目中使用着这个函数,在一个提交用户行为记录的接口上进行的,发现当客户端手动调用
axios.CancelToken 时,服务端仍保留了这个操作记录,

在翻查 撤销的可取消承诺提议 的提交记录中取消 前一版并未找到取消是在哪一步进行的。

请问:axios.CancelToken操作时,断开操作是在哪一步进行的,服务器端是否已经确认获得到当次请求的内容?

回答:

分几块
请求之前 在请求之前判断已经被取消,抛错误,走 catch
请求中 调用 abort 取消,抛错误,走 catch
请求完成 会在then抛出一个错误就,走 catch
请求失败 会在catch 判断是否是取消的 error,不是取消的 error 接着抛错,走 catch

回答:

就是xhr.abort(),不需要服务器确认。
axios/blob/master/lib/cancel/CancelToken.js#L22
axios/blob/master/lib/adapters/xhr.js#L153
the-abort()-method

暂无评论

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注