中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

vue中axios防止多次觸發終止多次請求的示例代碼(防抖)

發布時間:2020-09-27 22:45:11 來源:腳本之家 閱讀:606 作者:東吳大嘟嘟 欄目:web開發

需求

例如在搜索框中,并不是你輸入一個字就需要渲染一次數據,而是取最后一次的輸入內容進行搜索。

連續按下 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防止多次觸發終止多次請求的實現方法(防抖),希望對大家有所幫助!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

商城县| 凤冈县| 台南县| 许昌市| 鄂伦春自治旗| 颍上县| 浦城县| 大埔区| 丹寨县| 临沭县| 皮山县| 石台县| 洛川县| 阳泉市| 修水县| 昌宁县| 股票| 松原市| 武冈市| 清水县| 湖口县| 咸丰县| 徐闻县| 云南省| 龙口市| 永新县| 龙井市| 米易县| 菏泽市| 胶南市| 汶上县| 翁牛特旗| 五峰| 垫江县| 星座| 襄城县| 朝阳县| 长武县| 邳州市| 安塞县| 保定市|