如何立即开始投票?

时间:2012-10-25 10:08:56

标签: javascript polling

我正在尝试将轮询用于以15秒的间隔执行的小型检查。

setInterval(function(){
            $.ajax({ url: "aaa.com",
                success: function(data){
                showUpdate(data);
              }, dataType: "text"});
            }, 15000);

但这意味着在轮询开始之前有15秒的初始​​延迟,这在我的情况下是不可取的。 我如何强制立即开始投票?

3 个答案:

答案 0 :(得分:2)

当简单的人做这项工作时,不要寻找智能解决方案:

function check() {
   $.ajax({ url: "aaa.com",
     success: function(data){
     showUpdate(data);
   }, dataType: "text"});
}
check();
setInterval(check, 15000);

或者,我通常更喜欢

function check() {
   $.ajax({ url: "aaa.com",
     success: function(data){
        showUpdate(data);
        setTimeout(check, 15000);
   }, dataType: "text"});  
}
check();

因为在延迟响应的情况下不会有一堆电话。

答案 1 :(得分:0)

没有进入一个稍微复杂的想法,即使用回调函数处理调用之间的延迟,最简单的方法是将函数移出到命名函数,并在第一轮手动调用它

function doSomething() {

$.ajax({ url: "aaa.com",
                success: function(data){
                showUpdate(data);
              }, dataType: "text"});

}

doSomething();

setInterval(doSomething, 15000);

答案 2 :(得分:0)

如何:

function immediatePoll(f, interval) {
    f();
    setInterval(f, interval);
}

immediatePoll(function(){
        $.ajax({ url: "aaa.com",
            success: function(data){
            showUpdate(data);
          }, dataType: "text"});
        }, 15000);