axios 取消请求的后续影响

问题是这样:
现在我要删除table中的一条数据 如果后台删除这个数据需要3s
那我在请求发送过去后的2s取消了本次请求
那么这条数据是被删除了还是没有被删除

阅读 5.8k
6 个回答

请求已经送达后端,前端就不能控制其处理过程了。后端肯定会完成处理并返回结果,纯粹的前端取消,只是忽略这个结果。

如果请求送达后端之前,就已经取消了,那后端是不会处理的。但是要在送达前取消比较困难,因为一般数据量这么小的情况下,很快数据就出去了,不太可能终断。只有数据量足够大的情况,需要一定的传递时间,才有可能终断。

请求已经发送并接收,取消请求只会影响前端不接收返回。后台还是会删的

发送删除请求function
state.del = true

撤销删除function
state.del = false

当接受后端返回数据  del值 来判断前端界面是否重绘,如果撤销了就只需要发送请求 大致就是补回刚才删除的数据

最好再设置个防抖或者节流

取消时中断了连接。
但是否被删除却不一定。因为是TCP连接,所以在中断后,服务端是可以知道的。但目前应该绝大多数程序都不会处理这块逻辑,所以会导致继续执行删除。

一个接口请求响应速度很快不会给你取消请求的时间的,以防万一另外在进行删除操作的时候要对按钮进行防抖,就是避免这样的问题出现。

那取消删除请求时也要给后台接口再次发送请求吧。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题