防止请求还没走完再次点击触发请求

防止请求还没走完再次点击触发请求

利用闭包,在闭包中给个变量当做发送请求的开关,直接上代码

 clickButton() {
      let swich=false   //给一个初始值
      return function (){
        if(swich) return  //判断如果开关为true  就return停止
        swich=true    //不为true在请求前给它赋值true
        axios.post('url',{}).then(res=>{
          swich=false  //当请求走完在赋值为 false  这里注意swich开关赋值要放在.then里边
        })
      }
    },

这样只有请求走完一遍之后在点击按钮才会有用

下面是让一个按钮在3秒后点击才触发

    data(){
        return {
            lastTime:0 //默认上一次点击时间为0    
        }
    }
    methods:{
		 clickButton() {
	      //获取当前时间的时间戳
	      let newTime = new Date().getTime();
	      //第一次点击
	      if(this.lastTime === 0){
	        console.log('触发事件');
	        this.lastTime = newTime;//给点击时间重新赋值
	      }else if((newTime-this.lastTime) > 3000){
	        //否则如果newTime-lastTime大于3000(3秒)
	        //再次给当前点击的时间赋值
	        this.lastTime = newTime;
	        console.log('间隔大于3秒,触发方法');
	      }else{
	        console.log('不触发');
	      }
	    },   
	}
在小程序的`onShow`生命周期函数中循环数组,并在循环体内嵌套同步调用多个不同的接口,并将数组的每个元素传递给这些接口的JavaScript代码示例如下: ```javascript // 在onShow生命周期函数中定义循环调用接口的方法 onShow: function() { var a = [5, 1, 6, 7, 2, 8, 9, 15]; var index = 0; this.syncRequest(a, index); }, // 同步调用接口方法 syncRequest: function(a, index) { var that = this; if (index < a.length) { var item = a[index]; // 同步调用第一个接口 wx.request({ url: 'https://api.example.com/first', method: 'GET', data: { item: item }, success: function(res) { // 第一个接口请求成功的处理逻辑 console.log('第一个接口请求成功', res.data); // 同步调用第二个接口 wx.request({ url: 'https://api.example.com/second', method: 'GET', data: { item: item }, success: function(res) { // 第二个接口请求成功的处理逻辑 console.log('第二个接口请求成功', res.data); // 继续下一个item的接口请求 that.syncRequest(a, index + 1); }, fail: function(res) { // 第二个接口请求失败的处理逻辑 console.log('第二个接口请求失败', res.errMsg); } }); }, fail: function(res) { // 第一个接口请求失败的处理逻辑 console.log('第一个接口请求失败', res.errMsg); } }); } } ``` 以上代码中,首先在`onShow`生命周期函数中定义了一个数组`a`和一个索引`index`,然后调用`syncRequest`方法来开始循环调用接口。在`syncRequest`方法中,首先判断当前索引是否小于数组的长度,如果是,则取出数组当前索引对应的元素`item`。然后,在第一个接口的成功回调函数中,再嵌套调用第二个接口,并在第二个接口的成功回调函数中继续递归调用`syncRequest`方法,将索引加1,以便处理下一个元素的接口请求。如果任何一个接口请求失败,则相应的错误处理逻辑会被触发。请注意,以上代码仅为示例,你需要根据实际情况修改接口地址、请求方法、请求参数以及处理逻辑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值