码迷,mamicode.com
首页 > 其他好文 > 详细

创建一个有上限的循环定时器

时间:2019-06-21 21:05:23      阅读:126      评论:0      收藏:0      [点我收藏+]

标签:pre   ESS   间隔   success   out   资源   object   dex   console   

[代码质量差][英语质量差]见笑了

今天为了实现一个“取延时差异的资源并会提示超时”的功能时有一个地方想分享出来

创建一个有上限的循环定时器

/**
 * 创建有上限时钟
 * @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;
    // 先看到了没再执行
    console.log("定时器开始");
    console.log(upperlimit);
    var extendCallback = function(){
        if (successindex >= upperlimit){
            clearTimeout(timeobj);
            completeCallback();
        }else {
            callback();
            successindex++;
        }
    }
    timeobj = window.setInterval(extendCallback ,cycle);
    return timeobj;// 返回这个时钟对象,可以作用于终止
}

createUpperLimitTime(
5 ,1000 ,function(){ // 测试 console.log(1); },function(){ console.log(2); });

 

我在做一个项目时需要做到定时POST某个资源的差异实现差异获取,但是自带的循环定时器有点不理想

上面的completeCallback回调的作用就是为了识别“超时”问题

创建一个有上限的循环定时器

标签:pre   ESS   间隔   success   out   资源   object   dex   console   

原文地址:https://www.cnblogs.com/xiaopanpan0120/p/11066774.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!