【发布时间】:2016-10-14 18:23:51
【问题描述】:
我正在尝试根据一天中的时间更改间隔的延迟。每 30 分钟,我想自动(随机)从预定义的列表中推送一篇博文,而不需要 UI 事件触发。但是,在晚上,我想减慢推高(改变延迟)的速度,以免“阻塞”用户界面。我的代码:
var campaign_post_ids = [
// some array
];
var today = new Date();
var hourNow = today.getHours();
var stop = $interval(function() {
}, 100);
function pushBlog(blog_id) {
blog_id = campaign_post_ids[Math.floor(Math.random() * campaign_post_ids.length)];
Blog.push_up(blog_id); //calling the push_up function in the Blog service
}
if (hourNow > 9 && hourNow < 23) {
$interval.cancel(stop);
$interval(pushBlog, 60000 * 30); //every 30 minutes
} else {
$interval.cancel(stop);
$interval(pushBlog, 60000 * 120); //every 120 minutes
}
俯卧撑效果很好,但是延迟的变化不起作用;在夜间,它每 30 分钟(而不是 120 分钟)不断推升。我做错了什么?
【问题讨论】:
标签: angularjs setinterval