首先说一下,这里的 延迟执行函数 不是 延时执行函数,别搞混了
延迟执行函数是基于目标函数被执行一定次数后触发的函数。
延迟执行函数的思想有点类似于以下场景:
张三,这个路口经过的第三个人就是我们的目标。
一般方法
let 经过的人数 = 1
function 蹲路口(){
if(经过的人数==3) {
console.log("就是他,大伙一起上,打他")
} else {
经过的人数++
console.log("不是这货,再等等")
}
}
蹲路口() //不是这货,再等等
蹲路口() //不是这货,再等等
蹲路口() //就是他,大伙一起上,打他
延迟执行函数
function 延迟执行(num, callback) {
this.经过的人数 = num;
return function() {
if (this.经过的人数 == 0) {
callback();
} else {
this.经过的人数--
console.log("不是这货,再等等")
}
};
}
var 蹲路口 =延迟执行(2, function() {
console.log("就是他,大伙一起上,打他");
});
蹲路口(); //不是这货,再等等
蹲路口(); //不是这货,再等等
蹲路口(); //就是他,大伙一起上,打他
这里就可以把任何你想要延迟执行的方法写进去,就能达到延迟执行的效果。
如果有更厉害的写法欢迎来讨论,让我们一起有条不紊的持续进步。
喜欢的话不妨点个小小的赞与关注,您的赞与关注将是我源源不断的前进动力。