vue如何实现整点的时候自动请求接口刷新页面数据?

如题

vue如何实现整点的时候自动请求接口刷新页面数据?

阅读 6.3k
4 个回答
hourlyRefresh(function (hour) {
  console.log('执行整点计划 =>', hour)
})

function hourlyRefresh (callback) {
  var date, hour, minute, second, readyHour;
  setInterval(function () {
    date = new Date()
    hour = date.getHours()
    minute = date.getMinutes()
    second = date.getSeconds()
    console.log('当前时间:' + hour + ':' + minute + ':' + second)    
    if(minute === 0) {
      if(!readyHour) {
        readyHour = true;
        callback(hour)
      }
    } else {
      readyHour = false;
    }
  }, 1000)
}

不是有setTimeout。
打开页面的时候,计算一次距离整点还有多久,设置定时器回调。
触发一次后,重复”计算、设置回调“这个过程。

当然如果严谨点,第一次打开,应该检查是否刚好落在整点上,是则先触发一次回调。

  1. 数据应该与相应的显示是绑定的,这个可以自动刷新的
  2. 真实数据的获取可以通过定时器等触发来定时获取,因为你需要整点刷新,所以我猜这个整点应该是服务器整点,则定时器的处理就可以从获取服务器时间(标记,需要服务器数据中有反映),然后和本地时间比较,产生一个合适的定时器,后续也是类似,每次刷新后重新设置定时器。

我要是前端 我指定让后端整个websocket出来

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题