我正在使用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();
答案 0 :(得分:0)
怎么样:
setTimeout(function(){sendMail();},timeout);
答案 1 :(得分:0)
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