vue中axios防止多次触发终止多次请求的示例代码(防抖)


Posted in Javascript onFebruary 16, 2020

需求

例如在搜索框中,并不是你输入一个字就需要渲染一次数据,而是取最后一次的输入内容进行搜索。

连续按下 AAAAA ,只取最后一次按下时搜索框的内容(即:AAAAA)进行搜索。 而不是搜索跟 A(第一次按下),AA(第二次按下),AAA相关联的内容

本文例子:  检测用户输入的值,监测这个值,然后根据值调用接口查询结果

代码:

<template>
  <input type="text" v-model="message">
<template>
<script>
import axios from "axios";
export default {
  data(){
    return{
      message:''
  },
  watch : {
    message(newVal){     
      var that = this;
      // 取消上一次请求
      this.cancelRequest();
      axios.get('/api/searchList?cityId=10&kw='+ newVal, {       
        cancelToken: new axios.CancelToken(function(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);
        }
      })    
    }
  },
  methods: {
     cancelRequest(){
      if(typeof this.source ==='function'){
        this.source('终止请求')
      }
    }
  }
}
</script>

 其他做法:

   可以使用 clearTimeout()   setTimeout()  截取,设置一定时常请求一次

总结

以上所述是小编给大家介绍的vue中axios防止多次触发终止多次请求的实现方法(防抖),希望对大家有所帮助!

Javascript 相关文章推荐
js文字滚动停顿效果代码
Jun 28 Javascript
JQuery优缺点分析说明
Apr 10 Javascript
javascript去除字符串左右两端的空格
Feb 05 Javascript
纯HTML5制作围住神经猫游戏-附源码下载
Aug 23 Javascript
使用jQuery5分钟快速搞定双色表格的简单实例
Aug 08 Javascript
bootstrap datetimepicker日期插件使用方法
Jan 13 Javascript
使用vue.js2.0 + ElementUI开发后台管理系统详细教程(一)
Jan 21 Javascript
Vue实例中生命周期created和mounted的区别详解
Aug 25 Javascript
浅谈vue中关于checkbox数据绑定v-model指令的个人理解
Nov 14 Javascript
JavaScript原型对象原理与应用分析
Dec 27 Javascript
简单了解node npm cnpm的具体使用方法
Feb 27 Javascript
jquery UI实现autocomplete在获取焦点时得到显示列表功能示例
Jun 04 jQuery
Vue简单封装axios之解决post请求后端接收不到参数问题
Feb 16 #Javascript
封装一下vue中的axios示例代码详解
Feb 16 #Javascript
Vue.js的模板语法详解
Feb 16 #Javascript
Vue两个版本的区别和使用方法(更深层次了解)
Feb 16 #Javascript
vue数据响应式原理知识点总结
Feb 16 #Javascript
vue中利用iscroll.js解决pc端滚动问题
Feb 15 #Javascript
JS localStorage存储对象,sessionStorage存储数组对象操作示例
Feb 15 #Javascript
You might like
php下清空字符串中的HTML标签的代码
2010/09/06 PHP
为PHP初学者的8点有效建议
2010/11/20 PHP
PHP设计模式之装饰者模式
2012/02/29 PHP
php获取客户端电脑屏幕参数的方法
2015/01/09 PHP
解决php表单重复提交实现方法
2015/09/29 PHP
php设计模式之抽象工厂模式分析【星际争霸游戏案例】
2020/01/23 PHP
对象的类型:本地对象(1)
2006/12/29 Javascript
javascript中substr,substring,slice.splice的区别说明
2010/11/25 Javascript
google jQuery 引用文件,jQuery 引用地址集合(jquery 1.2.6至jquery1.5.2)
2011/04/24 Javascript
重写javascript中window.confirm的行为
2012/10/21 Javascript
js阻止事件追加的具体实现
2014/10/15 Javascript
jQuery监控文本框事件并作相应处理的方法
2015/04/16 Javascript
浅谈React 属性和状态的一些总结
2016/11/21 Javascript
bootstrap手风琴制作方法详解
2017/01/11 Javascript
ajax实现加载页面、删除、查看详细信息 bootstrap美化页面!
2017/03/14 Javascript
seajs模块压缩问题与解决方法实例分析
2017/10/10 Javascript
jQuery实现模糊搜索功能的方法分析
2018/06/29 jQuery
Vue中使用clipboard实现复制功能
2018/09/05 Javascript
vuex2中使用mapGetters/mapActions报错的解决方法
2018/10/20 Javascript
javascript实现获取中文汉字拼音首字母
2020/05/19 Javascript
[02:49:21]2019完美盛典全程录像
2019/12/08 DOTA
python编程实现归并排序
2017/04/14 Python
django认证系统实现自定义权限管理的方法
2018/07/16 Python
详解python的argpare和click模块小结
2019/03/31 Python
anaconda中更改python版本的方法步骤
2019/07/14 Python
详解matplotlib中pyplot和面向对象两种绘图模式之间的关系
2021/01/22 Python
澳大利亚珠宝商:Shiels
2019/10/06 全球购物
如何用Java实现列出某个目录下的所有子目录
2015/07/20 面试题
个人找工作自荐信格式
2013/09/21 职场文书
《月亮湾》教学反思
2014/04/14 职场文书
求职信标题怎么写
2014/05/26 职场文书
英语教师自荐信
2014/05/26 职场文书
五四青年节比赛演讲稿
2015/03/18 职场文书
个人求职信格式范文
2015/03/20 职场文书
Nginx优化服务之网页压缩的实现方法
2021/03/31 Servers
MySQL存储过程及语法详解
2022/08/05 MySQL