等待后的函数调用" X"秒

时间:2014-03-18 10:14:00

标签: javascript jquery ajax arrays

我正在使用Ajax进行某种循环。作为每个请求,为下一个请求再次调用该函数。我希望在AJAX请求结束后,仅在等待200 ms / 2秒后再次调用该函数。

我该怎么做? 以下是我目前的代码。

      var mailIDs = [1, 2];
      var timeout = 200;

      function sendMail() {
        if (mailIDs.length > 0) {
          var mailID = mailIDs.shift();

          assunto = $("input[name=assunto]").val();
          conteudo = $("#editor1").val();

          data = "mailID=" + mailID + "&assunto=" + assunto + "&conteudo=" + conteudo;

          $.ajax({
            url: "ajax/sendMail.php",
            data: data,
            success: function(resultMail) {
              alert(resultMail);

              // Call the function sendMail() after X ms (timeout).

              sendMail();
            }
          })

        }
      }

      sendMail();

5 个答案:

答案 0 :(得分:0)

怎么样:

 setTimeout(function(){sendMail();},timeout);

答案 1 :(得分:0)

使用setTimeout() method

setTimeout(function(){
   sendMail();
}, 2000);

或者,像这样:

 setTimeout(sendMail, 2000);

答案 2 :(得分:0)

您可以像这样使用setTimeout;

success: function (resultMail) {
    alert(resultMail);

    // Call the function sendMail() after X ms (timeout).
    setTimeout(sendMail, timeout);   // As Anthony points out in the comments 
}

答案 3 :(得分:0)

我相信这很容易做到:

setTimeout(sendMail, 2000);

您不需要任何额外的包装功能。

答案 4 :(得分:0)

您可以使用setTimeout()setInterval()普通javascript功能 查看更多here