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模拟面向对象全解(二、类型与赋值)
Jul 13 Javascript
简单实例处理url特殊符号&amp;处理(2种方法)
Apr 02 Javascript
一个可以增加和删除行的table并可编辑表格中内容
Jun 16 Javascript
浅谈JavaScript的push(),pop(),concat()方法
Jun 03 Javascript
angularjs过滤器--filter与ng-repeat配合有奇效
Apr 20 Javascript
Angular实现模版驱动表单的自定义校验功能(密码确认为例)
May 17 Javascript
详解Webpack loader 之 file-loader
Nov 07 Javascript
浅谈webpack devtool里的7种SourceMap模式
Jan 14 Javascript
JS实现的全选、全不选及反选功能【案例】
Feb 19 Javascript
微信小程序实现点击空白隐藏的方法示例
Aug 13 Javascript
Javascript组合继承方法代码实例解析
Apr 02 Javascript
如何使用Javascript中的this关键字
May 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
博士208HAF收音机实习报告
2021/03/02 无线电
PHP 和 HTML
2006/10/09 PHP
PHP队列用法实例
2014/11/05 PHP
phpcms的分类名称和类别名称的调用
2017/01/05 PHP
JavaScript 捕获窗口关闭事件
2009/07/26 Javascript
jQuery asp.net 用json格式返回自定义对象
2010/04/07 Javascript
js下判断 iframe 是否加载完成的完美方法
2010/10/26 Javascript
js 上传图片预览问题
2010/12/06 Javascript
用jquery实现输入框获取焦点消失文字
2013/04/27 Javascript
JS修改css样式style浅谈
2013/05/06 Javascript
在JS中如何调用JSP中的变量
2014/01/22 Javascript
JS下载文件|无刷新下载文件示例代码
2014/04/17 Javascript
jquery对象和javascript对象即DOM对象相互转换
2014/08/07 Javascript
深入了解Node.js中的一些特性
2014/09/25 Javascript
javascript实现添加附件功能的方法
2015/11/18 Javascript
jQuery实现form表单基于ajax无刷新提交方法详解
2015/12/08 Javascript
第一次接触神奇的Bootstrap网格系统
2016/07/27 Javascript
JavaScript中Array对象用法实例总结
2016/11/29 Javascript
Angular 常用指令实例总结整理
2016/12/13 Javascript
XMLHttpRequest对象_Ajax异步请求重点(推荐)
2017/09/28 Javascript
jQuery实现获取选中复选框的值实例详解
2018/06/28 jQuery
angular2实现统一的http请求头方法
2018/08/13 Javascript
Vue-cli项目部署到Nginx服务器的方法
2019/11/01 Javascript
js实现简单点赞操作
2020/03/17 Javascript
微信小程序点击生成朋友圈分享图(遇到的坑)
2020/06/17 Javascript
Python中的装饰器用法详解
2015/01/14 Python
OpenCV实现人脸识别
2017/04/07 Python
Python入门_浅谈字符串的分片与索引、字符串的方法
2017/05/16 Python
详解python基础之while循环及if判断
2017/08/24 Python
Python2和Python3的共存和切换使用
2019/04/12 Python
简述python&amp;pytorch 随机种子的实现
2020/10/07 Python
梅西酒窖:Macy’s Wine Cellar
2018/01/07 全球购物
意大利和国际最佳时尚品牌:Drestige
2019/12/28 全球购物
Aosom西班牙:家具在线商店
2020/06/11 全球购物
中式餐厅创业计划书范文
2014/01/23 职场文书
2015年国庆放假通知范文
2015/08/18 职场文书