解决setInterval休眠问题 real-interval
- 授权协议: MIT
- 开发语言: JavaScript
- 操作系统: 跨平台
- 软件首页: https://www.npmjs.com/package/real-interval
- 软件文档: https://github.com/hapjs/real-interval/blob/master/README.md
- 官方下载: https://github.com/hapjs/real-interval/archive/master.zip
软件介绍
real-interval
如果你用setTimeout或setInterval实现过网页倒计时功能,你就会发现:
当电脑或者APP休眠了一段时间后,倒计时会出现问题:它比正确的时间慢了。
real-interval能解决这个问题。
当休眠的电脑被唤醒后,它会计算出正确的运行时间,你的回调函数可以据此显示正确的剩余时间,或者判断何时应该停止倒计时。
安装
你可以通过npm安装real-interval
npm install real-interval
OR通过脚本引入它:
<script src="./build/interval.js"></script>
用法 1
在经过指定个数的时间间隔后停止
var timer = new Interval(function(pass){ console.log(pass); // stop after 24 hours if(pass == 60*60*24){ this.stop(); }; }, 1000);
打印结果:
1 2 3 4 5 6 ... 86400
这个例子中的 pass 是一个计数器, 表示当前经过了多少个1000毫秒。
用法 2
设定执行次数,自动停止
// automatic stop after 6 seconds var timer = new Interval(function(pass){ console.log(pass); }, 1000, 6);
打印结果:
1 2 3 4 5 6
这个例子中的定时器会在6秒后自动停止。
用法 3
显示剩余时间
var timer = new Interval(function(pass, surplus){ console.log('stop after ' + surplus + ' seconds'); }, 1000, 6);
打印结果:
stop after 5 seconds stop after 4 seconds stop after 3 seconds stop after 2 seconds stop after 1 seconds stop after 0 seconds
这个例子会显示距离停止还有多少秒。
用法 4
立即执行
var timer = new Interval(function(pass, surplus){ console.log('stop after ' + surplus + ' seconds'); }, 1000, 6, true);
打印结果:
stop after 6 seconds stop after 5 seconds stop after 4 seconds stop after 3 seconds stop after 2 seconds stop after 1 seconds stop after 0 seconds
这个例子与上个例子不同的地方在于, 回调函数会立即被调用, 而不是1秒之后。
程序员面试金典(第5版)
[美] Gayle Laakmann McDowell / 李琳骁、漆 犇 / 人民邮电出版社 / 2013-11 / 59.00
本书是原谷歌资深面试官的经验之作,层层紧扣程序员面试的每一个环节,全面而详尽地介绍了程序员应当如何应对面试,才能在面试中脱颖而出。第1~7 章主要涉及面试流程解析、面试官的幕后决策及可能提出的问题、面试前的准备工作、对面试结果的处理等内容;第8~9 章从数据结构、概念与算法、知识类问题和附加面试题4 个方面,为读者呈现了出自微软、苹果、谷歌等多家知名公司的150 道编程面试题,并针对每一道面试题目......一起来看看 《程序员面试金典(第5版)》 这本书的介绍吧!
UNIX 时间戳转换
UNIX 时间戳转换
RGB HSV 转换
RGB HSV 互转工具