zoukankan      html  css  js  c++  java
  • 按照准时准点的15分钟刷新

    要求:按照15分钟刷新但是必须是当前时间为参考:例如现在是33分钟下一次刷新的时间是12分钟 第二次以后就是15分钟

    第一种简单粗暴(定时器每分钟执行)

    var limit = 15
    setInterval(function() {
      var currMinutes = new Date().getMinutes()
      if (currMinutes % limit == 0) {
        /*其他代码*/
      }
    }, 1000 * 60)

    第二种是精确计算间隔

    // 间隔
    var limit = 15
    // 当前分钟
    var currMinutes = new Date().getMinutes()
    // 当前间隔
    var diff = currMinutes == 0 ? limit : (60 - currMinutes) % limit
    
    var startFun = function() {
        // 启动定时器
        var intval = setTimeout(function() {
    
            /*其他代码*/
            console.log('yes')
            if (diff != limit) {
                diff = limit
                clearTimeout(intval)
            }
            startFun()
    
        }, diff * 60 * 1000)
    }
    
    startFun()

    看了第一个写法,在看第二个写法是不是觉得第二个就是一个笑话(傻逼)的写法。我费了半天劲写了第二种写法,突然陈(汉军)老师说了第一个写法,

    我也笑自己傻,真傻

    如果这篇文章对您有帮助,您可以打赏我

    技术交流QQ群:15129679

  • 相关阅读:
    关于shell输出的一些问题
    python一些问题
    excel
    梁先生家书摘录
    使用conda安装requirement.txt指定的依赖包
    Matplotlib 的默认颜色 以及 使用调色盘调整颜色
    各种 Shell 的使用
    将实验数据保存到txt文件中
    机器学习-学习资源
    Gvim 的使用
  • 原文地址:https://www.cnblogs.com/yeminglong/p/14505566.html
Copyright © 2011-2022 走看看