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 相关文章推荐
easyui datagrid 键盘上下控制选中行示例
Mar 31 Javascript
解释&amp;&amp;和||在javascript中的另类用法
Jul 28 Javascript
ANGULARJS中使用JQUERY分页控件
Sep 16 Javascript
JS控件bootstrap suggest plugin使用方法详解
Mar 25 Javascript
angularjs定时任务的设置与清除示例
Jun 02 Javascript
对于js垃圾回收机制的理解
Sep 14 Javascript
vue中实现在外部调用methods的方法(推荐)
Feb 08 Javascript
JS中touchstart事件与click事件冲突的解决方法
Mar 12 Javascript
Vue 实现拖动滑块验证功能(只有css+js没有后台验证步骤)
Aug 24 Javascript
Vuex持久化插件(vuex-persistedstate)解决刷新数据消失的问题
Apr 16 Javascript
原理深度解析Vue的响应式更新比React快
Apr 04 Javascript
利用uni-app生成微信小程序的踩坑记录
Apr 05 Javascript
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/js获取客户端mac地址的实现代码
2013/07/08 PHP
PHP实现一个按钮点击上传多个图片操作示例
2020/01/23 PHP
jquery操作select option 的代码小结
2011/06/21 Javascript
一个JQuery写的点击上下滚动的小例子
2011/08/27 Javascript
jquery中选择块并改变属性值的方法
2013/07/31 Javascript
javascript自动改变文字大小和颜色的效果的小例子
2013/08/02 Javascript
jQuery列表拖动排列具体实现
2013/11/04 Javascript
解析JavaScript中instanceof对于不同的构造器或许都返回true
2013/12/03 Javascript
浅析jquery的js图表组件highcharts
2014/03/06 Javascript
在Google 地图上实现做的标记相连接
2015/01/05 Javascript
JavaScript中window.open用法实例详解
2015/04/15 Javascript
JavaScript中的anchor()方法使用详解
2015/06/08 Javascript
jQuery.trim() 函数及trim()用法详解
2015/10/26 Javascript
javascript每日必学之循环
2016/02/19 Javascript
卸载安装Node.js与npm过程详解
2016/08/15 Javascript
Javascript获取background属性中url的值
2016/10/17 Javascript
jQuery与JavaScript节点创建方法的对比
2016/11/18 Javascript
JavaScript常用正则函数用法示例
2017/01/23 Javascript
Angular.js项目中使用gulp实现自动化构建以及压缩打包详解
2017/07/19 Javascript
Angularjs实现页面模板清除的方法
2018/07/20 Javascript
微信小程序的注册页面包含倒计时验证码、获取用户信息
2019/05/22 Javascript
详解Webpack如何引入CDN链接来优化编译后的体积
2019/06/21 Javascript
layui的布局和表格的渲染以及动态生成表格的方法
2019/09/18 Javascript
微信小程序学习总结(三)条件、模板、文件引用实例分析
2020/06/04 Javascript
JavaScript canvas实现雨滴特效
2021/01/10 Javascript
利用Python生成文件md5校验值函数的方法
2017/01/10 Python
python获取文件真实链接的方法,针对于302返回码
2018/05/14 Python
Python Flask框架扩展操作示例
2019/05/03 Python
Django框架HttpResponse对象用法实例分析
2019/11/01 Python
Python opencv相机标定实现原理及步骤详解
2020/04/09 Python
大学生职业规划前言模板
2013/12/27 职场文书
在校大学生的职业生涯规划书
2014/03/14 职场文书
中学生寄语大全
2014/04/03 职场文书
行政求职信
2014/07/04 职场文书
小学教师先进事迹材料
2014/12/15 职场文书
python高温预警数据获取实例
2022/07/23 Python