收到后期数据后触发setinterval

时间:2015-06-25 14:07:07

标签: javascript jquery

我有一个jQuery $ post()来在页面加载时引入数据。此外,我还有一个setInterval()来在页面加载时加载一些其他数据。

  $.post('my.php',
    { 
      send:"123"
    },
    function(resp){
      //trigger setInterval now
  });

如何在收到数据后触发setinterval?

var wait = setInterval(function() {
     //do something
}, 1000);

5 个答案:

答案 0 :(得分:2)

function myIntervalFunction() {
  // do something, your interval function
}

// start the general interval working process
setInterval(myIntervalFunction, 1000);

$.post('my.php', { send:"123" },
    function(resp){
        // trigger myIntervalFunction once
        // after the ajax call is finished
        myIntervalFunction();
    }
);

答案 1 :(得分:0)

  $.post('my.php',
    { 
      send:"123"
    },
    function(resp){
      var wait = setInterval(function() {
     //do something
     }, 1000);
  });

没有理由不工作。

答案 2 :(得分:0)

在响应函数中声明它:

$.post('my.php',
{ 
  send:"123"
},
function(resp){
  var interval = setInterval(function() {
   //do something
  }, 1000);
});

或使其成为一个函数并在响应时调用它:

function start_interval () {
    return setInterval(function() {
     //do something
    }, 1000);
}

$.post('my.php',
{ 
  send:"123"
},
function(resp){
  interval = start_interval()
});

答案 3 :(得分:0)

$.post("my.php", {send: "123"}, function() {
    var wait = setInterval(function() {
        alert("1 sec");
        clearInterval(wait);
    }, 1000);
});

答案 4 :(得分:0)

尝试在setInterval的{​​{1}}回调范围之外定义对interval wait函数success的引用;在$.post()

wait回调中调用success,可选地传递参数
$.post()

jsfiddle this question