大佬教程收集整理的这篇文章主要介绍了vue中axios防止多次触发,终止多次请求(防抖),大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
需求
例如在搜索框中,并不是你输入@L_618_1@字就需要渲染一次数据,而是取最后一次的输入内容进行搜索。
连续按下 AAAAA ,只取最后一次按下时搜索框的内容(即:AAAAA)进行搜索。 而不是搜索跟 A(第一次按下),AA(第二次按下),AAA相关联的内容
代码:
<script> import axios from ‘axios‘ import qs from ‘qs‘ export default { methods: { request(keyword) { var CancelToken = axios.CancelToken var source = CancelToken.source() // 取消上一次请求 this.cancelrequest(); axios.post(url,qs.Stringify({kw:keyworD}),{ headers: { ‘Content-Type‘: ‘application/x-www-form-urlencoded‘,‘Accept‘: ‘application/json‘ },cancelToken: new axios.CancelToken(function executor(C) { that.source = c; }) }).then((res) => { // 在这里处理得到的数据 ... }).catch((err) => { if (axios.isCancel(err)) { console.log(‘Rquest canceled‘,err.messagE); //请求如果被取消,这里是返回取消的message } else { //handle error console.log(err); } }) },cancelrequest(){ if(typeof this.source ===‘function‘){ this.source(‘终止请求‘) } },} } </script>
其他做法:
以上是大佬教程为你收集整理的vue中axios防止多次触发,终止多次请求(防抖)全部内容,希望文章能够帮你解决vue中axios防止多次触发,终止多次请求(防抖)所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。