JavaScript SetInterval() 队列
JavaScript SetInterval() Queue
是否可以在特定时间用SetInterval()
调用函数,但只执行一次函数。
function get_feed(social) {
$.ajax({})
}
setInterval(function(){
get_feed('facebook');
},5000);
setInterval(function(){
get_feed('twitter');
},10000);
我希望在指定时间只调用一次结果:
on 5000ms: get_feed('facebook');
on 10000ms: get_feed('twitter');
但目前它在 10000 毫秒内调用了两个函数;
如果我没看错,您想每五秒获取一次提要,并在 facebook 和 twitter 之间交替。如果是这样,使用单个函数:
var feed = "facebook";
setInterval(function() {
get_feed(feed);
feed = feed === "facebook" ? "twitter" : "facebook";
}, 5000);
currently its calling two functions on 10000ms;
那是因为您的原始代码每 5000 毫秒安排 get_feed('facebook')
到 运行,每 10000 毫秒安排 get_feed('twitter')
。所以在 5000 毫秒之后,它执行 facebook 一个,然后在另一个 5000 毫秒(总共 10000 毫秒)之后,它同时执行它们,然后 5000 毫秒之后再次执行 facebook,然后 5000 毫秒(总共 20000 毫秒),它们都...
使用 setTimeout
function get_feed(social) {
$.ajax({})
}
setTimeout(function(){
get_feed('facebook');
},5000);
setTimeout(function(){
get_feed('twitter');
},10000);
尝试
function get_feed(social) {
$.ajax({})
}
var a = setInterval(function(){
get_feed('facebook');
},5000);
var b = setInterval(function(){
get_feed('twitter');
},10000);
示例:
var p = document.getElementById("text");
var a = setInterval(function(){
p.innerText = "facebook";
}, 5000);
var a = setInterval(function(){
p.innerText = "twitter";
}, 10000);
<p id="text"></p>
是否可以在特定时间用SetInterval()
调用函数,但只执行一次函数。
function get_feed(social) {
$.ajax({})
}
setInterval(function(){
get_feed('facebook');
},5000);
setInterval(function(){
get_feed('twitter');
},10000);
我希望在指定时间只调用一次结果:
on 5000ms: get_feed('facebook');
on 10000ms: get_feed('twitter');
但目前它在 10000 毫秒内调用了两个函数;
如果我没看错,您想每五秒获取一次提要,并在 facebook 和 twitter 之间交替。如果是这样,使用单个函数:
var feed = "facebook";
setInterval(function() {
get_feed(feed);
feed = feed === "facebook" ? "twitter" : "facebook";
}, 5000);
currently its calling two functions on 10000ms;
那是因为您的原始代码每 5000 毫秒安排 get_feed('facebook')
到 运行,每 10000 毫秒安排 get_feed('twitter')
。所以在 5000 毫秒之后,它执行 facebook 一个,然后在另一个 5000 毫秒(总共 10000 毫秒)之后,它同时执行它们,然后 5000 毫秒之后再次执行 facebook,然后 5000 毫秒(总共 20000 毫秒),它们都...
使用 setTimeout
function get_feed(social) {
$.ajax({})
}
setTimeout(function(){
get_feed('facebook');
},5000);
setTimeout(function(){
get_feed('twitter');
},10000);
尝试
function get_feed(social) {
$.ajax({})
}
var a = setInterval(function(){
get_feed('facebook');
},5000);
var b = setInterval(function(){
get_feed('twitter');
},10000);
示例:
var p = document.getElementById("text");
var a = setInterval(function(){
p.innerText = "facebook";
}, 5000);
var a = setInterval(function(){
p.innerText = "twitter";
}, 10000);
<p id="text"></p>