我有一个每分钟都运行一次的功能但是我希望该功能先运行然后每分钟运行一次。如何做到这一点,我的功能如下:
JS
setInterval(function() {
$.ajax({
//some code
});
}, 1000 * 60 * 1);
答案 0 :(得分:1)
创建命名函数的另一种方法是创建一个函数来运行你的函数一次然后安排它执行:
function runAndSetInterval(func, millis) {
func();
setInterval(func, millis);
}
...
runAndSetInterval(function() {
$.ajax({
// some code
});
}, 1000 * 60 * 1);
答案 1 :(得分:0)
您可以将函数存储在变量中,将其传递给setInterval
然后调用它。看看:
var intervalFunction = function(){
$.ajax({
//some code
});
};
setInterval(intervalFunction, 1000 * 60 * 1);
intervalFunction();
答案 2 :(得分:0)
使用命名函数,或将函数存储在变量中。我就是这样做的:
function doSomethingWithAjax() {
$.ajax(...);
}
doSomethingWithAjax();
setInterval(doSomethingWithAjax, 1000 * 60 * 1);
答案 3 :(得分:0)
更好的方法可能是:
var callServer = function(){
$.ajax({
url: 'url'
}).done(function(data){
//do something with data
setTimeout(callServer, 1000);
});
}
答案 4 :(得分:0)
我尝试递归调用该函数,因此60秒计时器仅在ajax完成后启动。
function functionName(){
$.ajax({
//do something
}).done(function(){
setTimeout(functionName, 60*1000)
});
}
然后你只需要在脚本开始时调用一次这个函数。
functionName();