创建一个有上限的循环定时器
Posted xiaopanpan0120
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了创建一个有上限的循环定时器相关的知识,希望对你有一定的参考价值。
[代码质量差][英语质量差]见笑了
今天为了实现一个“取延时差异的资源并会提示超时”的功能时有一个地方想分享出来
创建一个有上限的循环定时器
/** * 创建有上限时钟 * @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回调的作用就是为了识别“超时”问题
以上是关于创建一个有上限的循环定时器的主要内容,如果未能解决你的问题,请参考以下文章
在不开启事件循环的线程中使用QTimer(QThread::run函数自带事件循环,在构造函数里创建线程,是一种很有意思的线程用法) good