Я установил повторяющийся интервал для проверки обновлений API с помощью setInterval в JavaScript.Я включил максимальное количество итераций, чтобы предотвратить бесконечный цикл.Однако при достижении максимума интервал будет повторяться случайное количество дополнительных раз.Кажется, что если я установлю номер интервала ниже, число «превышений» возрастет.
Я что-то здесь не так делаю или это «известное» поведение?
RpcService.request('ping.set').then(function(res) {
function myFunction() {
var i = 0;
var x = setInterval(function () {
RpcService.request('ping.get').then(function(res) {
$scope.ping = res.output;
if (res.done === true || i >= 20) { // temporarily implemented to prevent an infinite loop
clearInterval(x);
setTimeout(function() {
console.log('timeOut ready')
}, 500);
$scope.buttonVisibility = [0,1,1];
$scope.buttonDisabled = [0,0,0];
}
i++;
});
}, 200);
}
myFunction();
});