我设置了一个重复间隔,以使用JavaScript中的setInterval检查对API的更新。我已经包括了最大的迭代次数以防止无限循环。但是,当达到最大值时,间隔将重复随机的额外次数。似乎如果将间隔号设置得较低,则“超调”的次数会增加。
我在这里做错什么了吗,还是这种“已知”行为?
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();
});