저는 매분마다 실행되는 함수를 가지고 있지만 함수가 먼저 실행되고 매분마다 실행되기를 원합니다. 이 작업을 수행 할 수있는 방법, 내 기능은 다음과 같습니다 :간격 함수
JS
setInterval(function() {
$.ajax({
//some code
});
}, 1000 * 60 * 1);
저는 매분마다 실행되는 함수를 가지고 있지만 함수가 먼저 실행되고 매분마다 실행되기를 원합니다. 이 작업을 수행 할 수있는 방법, 내 기능은 다음과 같습니다 :간격 함수
JS
setInterval(function() {
$.ajax({
//some code
});
}, 1000 * 60 * 1);
명명 된 함수를 사용하거나 변수에 함수를 저장하십시오.
var callServer = function(){
$.ajax({
url: 'url'
}).done(function(data){
//do something with data
setTimeout(callServer, 1000);
});
}
당신이 그것을 호출 한 후, 변수에 함수를 저장하는 setInterval
에 전달할 수 있습니다. 보십시오 :
var intervalFunction = function(){
$.ajax({
//some code
});
};
setInterval(intervalFunction, 1000 * 60 * 1);
intervalFunction();
더 좋은 방법 일 수 있습니다 : 여기에 내가 그것을 할 것입니다 방법입니다.
function functionName(){
$.ajax({
//do something
}).done(function(){
setTimeout(functionName, 60*1000)
});
}
그런 다음이 기능은 스크립트 시작시 한 번만 호출하면됩니다.
functionName();
당신은 실제로 전화를 생략 한 기능을 주먹 장소. 그 외에도, 이것은 좋은 접근 방법이 될 것입니다. – Alnitak
내가 재귀 함수를 호출하려고 할 것입니다, 그래서 아약스가 완료된 후에만 타이머 60 초 시작합니다
function doSomethingWithAjax() {
$.ajax(...);
}
doSomethingWithAjax();
setInterval(doSomethingWithAjax, 1000 * 60 * 1);
이 옵션을 사용하면'functionName();은 호출하려고 할 때 함수가 아닙니다. –
죄송합니다. 객체 지향 모드에서 죄송합니다. –
명명 된 기능을 생성하는 또 다른 방법은 실행을위한 일정을 번 다음 함수를 실행하는 기능을 작성하는 것입니다 : 이것은 나를 위해 일한
function runAndSetInterval(func, millis) {
func();
setInterval(func, millis);
}
...
runAndSetInterval(function() {
$.ajax({
// some code
});
}, 1000 * 60 * 1);
을 –