api에서 얻은 값으로 스택 영역 그래프를 만들려고합니다. 첫 번째 API는 내게 일정 범위를 제공합니다. 예 : 6 월 1 일 - 6 월 7 일. 두 번째 API를 통해 그래프에 필요한 값을 얻을 수 있습니다. 데이터는 다음과 같습니다.간격을 지운 후에 api를 다시 호출하는 방법
제 아이디어는 API를 호출하고 카운트 값을 매 함수마다 함수에 푸시하는 것입니다. 하지만 어쨌든 나는 100ms마다 api를 호출하고 모든 데이터를 가져 와서 그래프를 트리거하기 때문에 그렇게 할 수는 없습니다. 이제 한 번의 반복이 완료된 후 두 번째 API를 호출하려고 할 때 호출이 그래프를 인터럽트합니다. 이 문제를 해결하도록 도와주세요.
d3.json('/service/dates', function(error, dates) {
var dran = dates;
if (dates != null) {
sDt = new Date(dates.st);
eDt = new Date(dates.et);
var i = 0;
var start = function() {
if (sDt > eDt) {
clearInterval(interval);
$('.wrapper').trigger('newPoint');
return;
}
var sDate = sDt.toISOString();
var eDate = new Date(sDt.setMinutes(sDt.getMinutes() + 30)).toISOString();
//Calling the api for graph values
d3.json("/service/dat?s=" + sDate + "&e=" + eDate, function(error, results) {
if (results != null) {
numbers = numbers.push(results.numbers);
values = values.push(results.values);
}
});
i++;
}
var interval = setInterval(start, 100);
}
});
}
'setInterval'을 호출하는 경우 두 번 지워야합니다. – 11thdimension
당신이 두 번 호출하고 있다는 것을 의미합니다.'func'의 두 번째 호출은 결코 지워지지 않습니다. – 11thdimension
@ 하 라비 왜 코드를 편집 했습니까? 그것은 질문을 전혀 쓸모 없게 만들고 수용된 대답을 아무런 의미없이 매달아 놓습니다. – altocumulus