首页 > 微信 > 详细

节流函数(防止重复请求)小程序

时间:2019-12-03 11:52:55      阅读:189      评论:0      收藏:0      [点我收藏+]

先在util.js声明函数并导出

 

function throttle(fn, gapTime) {
    if (gapTime == null || gapTime == undefined) {
        gapTime = 1500
    }

    let _lastTime = null

    // 返回新的函数
    return function () {
        let _nowTime = + new Date()
        if (_nowTime - _lastTime > gapTime || !_lastTime) {
            fn.apply(this, arguments)   //将this和参数传给原函数
            _lastTime = _nowTime
        }
    }
}

module.exports ={ throttle: throttle }


封装的第二种
function throttle(me, key, fn, delay = 1000) {
  let pre = me.data[key]
  return function () {
  let now = + new Date();
  if (now - pre >= delay) {
    fn.apply(me, arguments)
    pre = now
    me.setData({
      [key]: now
    })
  }
 }
}
 

在需要的页面的js文件引入  var util = require(‘‘)

tap: util.throttle(function (e) {
 //需要自行的函数
}, 1000)   //  1000间隔时间


// 第二种
myclick: function (e) {
        let that = this
        throttle(that, ‘pre‘, function(){
        console.log(111111111111)
}, 1000)() },

  

节流函数(防止重复请求)小程序

原文:https://www.cnblogs.com/Alitar/p/11975001.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!