js中如果想限制定时器执行次数该怎么做
3个回答
展开全部
/**
* 创建有上限时钟
* @param {int} upperlimit 上限次数
* @param {int} cycle 间隔时间
* @param {Function} _callback 回调函数
* @param {Function} _completeCallback 执行完毕后调用的函数
* @return {Object} 返回一个时钟对象
*/
function createUpperLimitTime(_upperlimit ,cycle ,_callback ,_completeCallback){
var successindex = 0;
var timeobj;
var upperlimit=_upperlimit;
var callback = _callback || function(){};
var completeCallback = _completeCallback || function(){};
// 先看到了没再执行
console.log("定时器开始");
console.log(upperlimit);
var extendCallback = function(){
if (successindex >= upperlimit){
clearTimeout(timeobj);
completeCallback();// 完成后对时钟实例基本无需什么操作了,因此这里不提供也行
}else {
callback(timeobj);// 实际上这个回调函数是可以获得时钟实例的
successindex++;
}
}
timeobj = window.setInterval(extendCallback ,cycle);
return timeobj;// 返回这个时钟对象,可以作用于终止
}
createUpperLimitTime(5 ,1000 ,function(){ // 测试
console.log(1);
},function(){
console.log(2);
});
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
var i=0;
var st = setInterval(function(){
i++;
//执行的函数
console.log(i);
//实行了3次
if (i >= 3) {
clearInterval(st);
}
},500);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询