1
我试图根据一天中的时间更改间隔的延迟。每隔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分钟)不断推高。我究竟做错了什么?
啊,是的,宣布取消间隔是非常有意义的......谢谢! – RVBuuren
是否有必要清除$间隔?我在某个地方读到,在同一时间永远不会有两个间隔? – RVBuuren
在vanillja js和角度实现中,您可以根据需要创建多个区间。例如:https://jsfiddle.net/57nn8xrz/ –