我尝试每隔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);
});
});
答案 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)