小程序如何避免连续点击导致多次请求的问题?

记录是为了更好的成长!

在开发中遇到保存订单时,连续点击保存按钮导致多次执行了wx.request的问题,将解决办法整理如下:

直接贴代码——>>>

1、点击按钮事件

<input placeholder="name" />
<input placeholder="age"  />
<button bindtap='save'>保存</button>
Page({
  data: {
    
  },
  onLoad: function(options) {
  },

  save:function(){
    //执行请求之前进行showLoading()
    wx.showLoading({
      title: '保存中',
      mask: true
    })
    wx.request({
      url: 'http://127.0.0.1:80',
      success:function(){
        //......
      },
      //完成之后执行hideLoading()
      complete:function(){
        setTimeout(function () {
          wx.hideLoading()
        }, 1000)
      }
    })
  }
})

2、多次点击导致页面跳转的问题

<button bindtap='gotoDetail' disabled="buttonClicked">详情页</button>
Page({
  data: {
    buttonClicked: false
  },
  onLoad: function(options) {
  },
  gotoDetail:function(){
    buttonClicked(this)
    wx.navigateTo({
      url: '../detail/detail'
    })
  }
})

function buttonClicked(that) {
  that.setData({
    buttonClicked: true
  })
  setTimeout(function () {
    that.setData({
      buttonClicked: false
    })
  }, 500)
}

以上内容代表个人观点,仅供参考,不喜勿喷。。。