闭包及高阶函数的应用

84 阅读1分钟

这是早期利用闭包的功能,自己设置过期时间,并不是利用的ajax的timeout来判断的,这是一个闭包和高阶函数的典型应用

function timeroutify(fn,delay) {
    var intv = setTimeout(()=>{
        intv = null
    },delay) // 过期时间
    return function(response) {
       if (intv){
           clearTimeout(intv)
           // 处理返回的数据
           fn.apply(this,response)
       }
    }
}  

ajax('url',timeroutify(function() {},1000))