国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

vue axios請求頻繁時取消上一次請求的方法

2019-11-19 12:32:37
字體:
來源:轉載
供稿:網友

一、前言

在項目中經常有一些場景會連續發送多個請求,而異步會導致最后得到的結果不是我們想要的,并且對性能也有非常大的影響。例如一個搜索框,每輸入一個字符都要發送一次請求,但輸入過快的時候其實前面的請求并沒有必要真的發送出去,這時候就需要在發送新請求的時候直接取消上一次請求。

二、代碼

<script>import axios from 'axios'import qs from 'qs'export default {  methods: {    request(keyword) {      var CancelToken = axios.CancelToken      var source = CancelToken.source()             // 取消上一次請求      this.cancelRequest();            axios.post(url, qs.stringify({kw:keyword}), {        headers: {          'Content-Type': 'application/x-www-form-urlencoded',          'Accept': 'application/json'        },        cancelToken: new axios.CancelToken(function executor(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);        }      })    },    cancelRequest(){      if(typeof this.source ==='function'){        this.source('終止請求')      }    },  }}</script>

三、結語

這樣就可以成功取消上一次請求啦!以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 峨山| 黎平县| 柏乡县| 桂东县| 廉江市| 保德县| 大英县| 盖州市| 江陵县| 日土县| 灵台县| 勐海县| 板桥市| 正宁县| 南木林县| 定西市| 广水市| 商城县| 垣曲县| 百色市| 昌宁县| 余姚市| 双柏县| 溆浦县| 定州市| 信阳市| 武隆县| 陇西县| 离岛区| 巴林右旗| 灵山县| 禹城市| 邹平县| 遂昌县| 铜鼓县| 浙江省| 丰顺县| 乐亭县| 防城港市| 吐鲁番市| 宿松县|