软件测试小菜鸟正在更新中 2022-01-17 13:52 采纳率: 93.2%
浏览 124
已结题

定时请求接口怎么实现

前端页面上,我们的需求是比如6点10分更新一次第一个图表,6点20更新一次,6点30更新一次,6点40,6点50。就是每到整分钟就更新一次。然后每天的8点半,更新一第二个图表的数据(也就是重新调用一下接口方法),但是我现在想知道怎么判断整点和8点半这两个时刻啊?

  • 写回答

4条回答 默认 最新

  • ZionHH 2022-01-17 16:20
    关注
        var minTimer = null
        var hourTimer = null
        // 整分
        function timerFunc() {
          var date = new Date()
          // 取当前分钟个位数,方便计算
          var mins = date.getMinutes() % 10
          // 触发时间:10 - mins 求出剩余时间
          var ticktack = (10 - mins) * 60 * 1000
    
          minTimer = setTimeout(timerFunc, ticktack)
          if (mins == 0) {
            console.log('整分了')
          }
        }
        timerFunc()
        // 8:30
        function hourTimerFunc() {
          const date = new Date()
          const hours = date.getHours()
          const mins = date.getMinutes()
          const now = date.getTime()
          const targetTime = new Date().setHours(8, 30, 0)
          // 剩余时间
          let remTime = targetTime > now ? (targetTime - now) : (targetTime + 86400000 - now)
          
          hourTimer = setTimeout(hourTimerFunc, remTime)
          if (hours === 8 && mins === 30) {
            console.log('8:30了')
          }
        }
        hourTimerFunc()
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
    1人已打赏
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 1月25日
  • 已采纳回答 1月17日
  • 创建了问题 1月17日

悬赏问题

  • ¥15 java corba的客户端该如何指定使用本地某个固定IP去连接服务端?
  • ¥15 activiti工作流问题,求解答
  • ¥15 有人写过RPA后台管理系统么?
  • ¥15 Bioage计算生物学年龄
  • ¥20 如何将FPGA Alveo U50恢复原来出厂设置哇?
  • ¥50 cocos2d-x lua 在mac上接入lua protobuf?
  • ¥15 es 7.17.20版本生成时间戳
  • ¥15 wpf dategrid表头排序图标自定义
  • ¥15 xshell无法连接提示ssh服务器拒绝密码
  • ¥15 AT89C52单片机C语言关于串口通信的位操作