技术控

    今日:102| 主题:49113
收藏本版 (1)
最新软件应用技术尽在掌握

[其他] real-interval —— 正确计算系统休眠时间的计时器

[复制链接]
时间都去哪了 发表于 2016-10-4 07:56:09
132 1

立即注册CoLaBug.com会员,免费获得投稿人的专业资料,享用更多功能,玩转个人品牌!

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
real-interval

  如果你用setTimeout或setInterval实现过网页倒计时功能,你就会发现:
  1. 当电脑或者APP休眠了一段时间后,倒计时会出现问题:它比正确的时间慢了。
复制代码
real-interval能解决这个问题。
  当休眠的电脑被唤醒后,它会计算出正确的运行时间,你的回调函数可以据此显示正确的剩余时间,或者判断何时应该停止倒计时。
  安装  

  你可以通过npm安装real-interval
  1. npm install real-interval
复制代码
OR通过脚本引入它:
  1. <script src="./build/interval.js"></script>
复制代码
用法 1  

  在经过指定个数的时间间隔后停止
  1. var timer = new Interval(function(pass){
  2.     console.log(pass);
  3.     // stop after 24 hours
  4.     if(pass == 60*60*24){
  5.         this.stop();
  6.     };
  7. }, 1000);
复制代码
打印结果:
  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. ...
  8. 86400
复制代码
这个例子中的 pass 是一个计数器, 表示当前经过了多少个1000毫秒。
  用法 2  

  设定执行次数,自动停止
  1. // automatic stop after 6 seconds
  2. var timer = new Interval(function(pass){
  3.     console.log(pass);
  4. }, 1000, 6);
复制代码
打印结果:
  这个例子中的定时器会在6秒后自动停止。
  用法 3  

  显示剩余时间
  1. var timer = new Interval(function(pass, surplus){
  2.     console.log('stop after ' + surplus + ' seconds');
  3. }, 1000, 6);
复制代码
打印结果:
  1. stop after 5 seconds
  2. stop after 4 seconds
  3. stop after 3 seconds
  4. stop after 2 seconds
  5. stop after 1 seconds
  6. stop after 0 seconds
复制代码
这个例子会显示距离停止还有多少秒。
  用法 4  

  立即执行
  1. var timer = new Interval(function(pass, surplus){
  2.     console.log('stop after ' + surplus + ' seconds');
  3. }, 1000, 6, true);
复制代码
打印结果:
  1. stop after 6 seconds
  2. stop after 5 seconds
  3. stop after 4 seconds
  4. stop after 3 seconds
  5. stop after 2 seconds
  6. stop after 1 seconds
  7. stop after 0 seconds
复制代码
这个例子与上个例子不同的地方在于, 回调函数会立即被调用, 而不是1秒之后。
友荐云推荐




上一篇:Simon Riggs: Cool Runnings
下一篇:arXiv Paper Daily: Tue, 4 Oct 2016
酷辣虫提示酷辣虫禁止发表任何与中华人民共和国法律有抵触的内容!所有内容由用户发布,并不代表酷辣虫的观点,酷辣虫无法对用户发布内容真实性提供任何的保证,请自行验证并承担风险与后果。如您有版权、违规等问题,请通过"联系我们"或"违规举报"告知我们处理。

www97616net 发表于 2016-10-4 21:18:51
我知道在一个没有人的角落,楼主一边紧盯着屏幕,一边用颤抖的小手按着刷新,一遍一遍,零回复!又是零回复吗?楼主内心涌现出一种失望,眼神中透露着凄凉。是的,楼主,我理解你,这种冷落的感觉在这个地方太常见了,在这里该火的贴不会火,骗回复的帖子却永远被回复着。楼主的无奈我很懂,所以我来了,带来了经验,带来了人气,带来了零点几秒的首页显示。而我问楼主讨要的,仅仅是一层楼而已,是的,不用谢我,但请记住我,记住我来过。
回复 支持 反对

使用道具 举报

*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

我要投稿

推荐阅读

扫码访问 @iTTTTT瑞翔 的微博
回页顶回复上一篇下一篇回列表手机版
手机版/CoLaBug.com ( 粤ICP备05003221号 | 文网文[2010]257号 )|网站地图 酷辣虫

© 2001-2016 Comsenz Inc. Design: Dean. DiscuzFans.

返回顶部 返回列表