Я вызываю два API в моем init () , но во втором запросе get я хочу, чтобы он продолжал вызывать его до тех пор, пока не будет выполнено определенное условие (в моем случае пройдены 2 диапазона дат). Условие состоит в том, что, пока разница в датах не станет меньше 15 дней, продолжайте вызывать API, после этого API прекращает вызовы
Мой код выглядит так
var startDate=moment(new Date()).format("YYYY-MM-DD");
var endDate;
$scope.init=function(){
firstGetFunction().then(function(response1){
let i=0;
$interval(function() {
endDate=moment(startDate).add(i++,'days').format("YYYY-MM-DD");
if(new moment.duration(new Date(endDate)-new Date(startDate)).asDays()<=15){
secondGetFunction(startDate,endDate).then(function(response2){
$scope.obj1=response1;
$scope.obj2=response2;
});//2nd API call ends
}//if diff is less than 15 days
else{
return;
}
},100);//$interval ends
});//1st API call ends
}
Проблема, с которой я сталкиваюсь, заключается в том, что я не могу выйти из $interval
.
Есть ли лучший способ обработать этот запрос Get?
Можно ли улучшить код?