zoukankan      html  css  js  c++  java
  • 节流阀 只允许一次请求(避免重复点击)

     data: {
        //定一个状态 无论什么请求在数据回来之前 只允许请求一次 0:请求之前 1:请求结束
        apiOnce: 1,
    }
     
    methods:{
     //点击加载更多数据
      moreData() {
        //一进来默认阻止 只允许请求一次
        if (this.data.apiOnce == 0) {
          return
        }
        //不为0进来 重置请求状态
        this.setData({
          apiOnce: 0
        })
    }
     
    }

    success: (res) => {
                if (res.data.data.goods_list.length == 0) {
                  this.setData({     //success成功拿到结果过后把状态重置为1
                    apiOnce: 1
                  })
                }
              }
     
     
     
     
     
     
    第二种方法  : 点赞逻辑  防止用户重复点赞  当点击完成需要切换灰色图  再次 点击切换红色  (两张图 进行切换的防止重复点击)
     
    // 参数
    data"{
    
    
      flag:true  //没点过
    
    
    }
        //方法
    getTagsArticle(e) {
    const that = this; if (that.data.flag == false) { //一进来如果是点过了 那么就阻止
           wx.showToast({
                title: '正在点赞中,请稍等',
                  icon: 'none'
              })
              return
            }
            that.setData({    // 如果没点过 这次点击 切换为点过了
                flag: false
            })
    
            console.log(e)
            let num = e.currentTarget.dataset.num
            var postsData = {
                id: that.data.id,
                num: num
            }
            let dataInfo = requestSign.requestSign(postsData)
            header.sign = dataInfo
            wx.request({
                url: api.get_tagsArticle,
                data: postsData,
                header: header,
                method: 'POST',
                dataType: 'json',
                responseType: 'text',
                success: ({
                    data
                }) => {
    
                    console.log(data, '成功')
                    if (data.code == 1) {
                        if (num > 0) {
                            that.setData({
                                tagsNumber: that.data.tagsNumber + 1,
                                tags: 1
                            })
                        } else {
                            that.setData({
                                tagsNumber: that.data.tagsNumber - 1,
                                tags: 0
                            })
                        }
                      
                    } else {
                        wx.showToast({
                            title: data.message
                        })
                    }
    
    
    } })
    fail: (res) => {},
    complete: function () {
            setTimeout(function () { //成功过后 设置定时器 1 秒过后表示没点过按钮
              that.data.flag = true;
            }, 1000); //一秒内不能重复点击
          }
     
    ; }
     
  • 相关阅读:
    bzoj1066: [SCOI2007]蜥蜴(最大流)
    bzoj4551: [Tjoi2016&Heoi2016]树(树链剖分)
    bzoj2663: [Beijing wc2012]灵魂宝石(二分+匈牙利)
    bzoj2150: 部落战争(匈牙利)
    bzoj1797: [Ahoi2009]Mincut 最小割(最小割+强联通tarjan)
    bzoj3993: [SDOI2015]星际战争(网络流)
    bzoj3504: [Cqoi2014]危桥(网络流)
    bzoj3212: Pku3468 A Simple Problem with Integers(线段树)
    bzoj4590: [Shoi2015]自动刷题机(二分答案)
    [WC2013]糖果公园
  • 原文地址:https://www.cnblogs.com/xiaoxiaoxun/p/12134234.html
Copyright © 2011-2022 走看看