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 相关文章推荐
javascript中巧用“闭包”实现程序的暂停执行功能
Apr 04 Javascript
js中判断数字\字母\中文的正则表达式 (实例)
Jun 29 Javascript
JQuery遍历json数组的3种方法
Nov 08 Javascript
JavaScript基础函数整理汇总
Jan 30 Javascript
JavaScript获取各大浏览器信息图示
Nov 20 Javascript
详解Node.js包的工程目录与NPM包管理器的使用
Feb 16 Javascript
JSON 对象未定义错误的解决方法
Sep 29 Javascript
Bootstrap基本插件学习笔记之Popover提示框(19)
Dec 08 Javascript
vue 将页面公用的头部组件化的方法
Dec 18 Javascript
解决vue-router在同一个路由下切换,取不到变化的路由参数问题
Sep 01 Javascript
在vue项目中引用Antv G2,以饼图为例讲解
Oct 28 Javascript
JavaScript如何实现防止重复的网络请求的示例
Jan 28 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
咖啡的种类和口感
2021/03/03 新手入门
php-fpm中max_children的配置
2019/03/15 PHP
从面试题学习Javascript 面向对象(创建对象)
2012/03/30 Javascript
jQuery使用一个按钮控制图片的伸缩实现思路
2013/04/19 Javascript
js获取事件源及触发该事件的对象
2013/10/24 Javascript
文本域中换行符的替换示例
2014/03/04 Javascript
控制台报错object is not a function的解决方法
2014/08/24 Javascript
深入探寻javascript定时器
2015/01/02 Javascript
js鼠标滑过图片震动特效的方法
2015/02/17 Javascript
JQuery菜单效果的两个实例讲解(3)
2015/09/17 Javascript
js实现当鼠标移到表格上时显示这一格全部内容的代码
2016/06/12 Javascript
Javascript 函数的四种调用模式
2016/11/05 Javascript
etmvc+jQuery EasyUI+combobox多值操作实现角色授权实例
2016/11/09 Javascript
jQuery根据ID、CLASS、等获取对象的实例
2016/12/04 Javascript
老生常谈jquery中detach()和remove()的区别
2017/03/02 Javascript
Angular2数据绑定详解
2017/04/18 Javascript
Vue.js 2.0 移动端拍照压缩图片预览及上传实例
2017/04/27 Javascript
node.js支持多用户web终端实现及安全方案
2017/11/29 Javascript
使用JS代码实现俄罗斯方块游戏
2018/08/03 Javascript
详解element-ui级联菜单(城市三级联动菜单)和回显问题
2019/10/02 Javascript
js异步接口并发数量控制的方法示例
2020/11/22 Javascript
一文秒懂nodejs中的异步编程
2021/01/28 NodeJs
Python socket C/S结构的聊天室应用实现
2014/11/30 Python
用实例分析Python中method的参数传递过程
2015/04/02 Python
TensorFlow实现创建分类器
2018/02/06 Python
pandas 将list切分后存入DataFrame中的实例
2018/07/03 Python
pyqt5让图片自适应QLabel大小上以及移除已显示的图片方法
2019/06/21 Python
pytorch1.0中torch.nn.Conv2d用法详解
2020/01/10 Python
建筑自我鉴定
2013/10/19 职场文书
法律专业应届本科毕业生求职信
2013/10/25 职场文书
医学生就业推荐表自我鉴定
2014/03/26 职场文书
帮一个朋友写的求职信
2014/08/09 职场文书
2014年幼儿园保育工作总结
2014/12/02 职场文书
求职推荐信范文
2015/03/27 职场文书
违规违纪检讨书范文
2015/05/06 职场文书
Python scrapy爬取起点中文网小说榜单
2021/06/13 Python