我想对间隔使用动态延迟:
var tabDelay = 1500;
var timer = $interval(function() {
if (some if) {
tabDelay = 5000;
} else {
tabDelay = 1000;
}
}
},tabDelay);
但似乎这不是正确的方法。我如何在angularJs中使用$ interval延迟的动态值?
答案 0 :(得分:3)
考虑使用$timeout因为我不相信你可以改变间隔的持续时间
答案 1 :(得分:0)
我个人建议重复$ timeout。
这种方法的主要优点是,如果你有一个异步方法,你可以等待异步发生,然后触发另一个超时。这在汇集不同数据集时特别有用。
var delay = 500, clearTimeout, stop = false;
function doLoad (stop) {
if (x) {
delay = 1000;
} else {
delay = 500;
}
if (myCondition) {
stop = true;
}
// do stuff
if (stop) {
if (clearTimeout) {
$timeout.cancel(clearTimeout);
}
} else {
clearTimeout = $timeout(doLoad, delay);
}
}
doLoad(delay);
这是一个选择吗? Angular Material的限制是什么?