最后5分钟每10分钟执行一次功能

时间:2017-06-27 14:49:51

标签: angularjs

我尝试每隔10分钟在angularjs中执行一个函数,最后一分钟为5,例如: 功能将执行一次[...] 11:05,11:15,11:25,11:35,11:45,11:55 [...]

我知道我可以设置这样的间隔,但我无法一起申请:

function getStuff() {
   $http.get().success(function(data) {
       $timeout(getStuff, 5000);
   });
});

2 个答案:

答案 0 :(得分:1)

使用$interval每10分钟调用一次该函数。

function getStuff() {
   $http.get().success(function(data) {
      console.log(data)
   });
});

$interval(getStuff,600000)

答案 1 :(得分:1)

一种方法是设置初始$ interval以检查时间并检查分钟是否以5结束。一旦完成,则可以运行$ interval以每10分钟运行一次作业。

// run every min to check if time ends in 5
var stopTimeCheck = $interval(function() {
   var currMin = new Date().getMinutes();
    // check if minute time ends in 5
   if (currMin % 5 === 0 && currMin % 10 !== 0) {
       $interval(function() {
          $http.get().then(...);
       }, 600*1000); // run every 10 mins
       $interval.cancel(stopTimeCheck);
   }
}, 60*1000)