我正在尝试以10秒的延迟发送电子邮件。我写了这段代码:
$(document).ready(function() { for (i = 0; i < 20; i++) { setTimeout("SendEmail(" + i + ")", 5000); } }); function SendEmail(id) { $.get("mimesender.php?id=" + id, function(data) { var toAppend = "<span> " + data + "</span>" $("#sentTo").append(toAppend); }); }
服务器端代码(php)获取ID并从数据库中选择具有指定ID的电子邮件
$query="select email from clienti where id =".$id;
然后发送电子邮件,并发回当前电子邮件
echo email;
但是,这里有些问题。似乎js函数等待5秒钟,然后立即显示所有20个电子邮件地址。
你能告诉我我做错了什么吗?任何“睡眠”的解决方法将不胜感激:)
您应该创建一个在5秒钟后调用自身的函数
var i=0; function sendEmailNow() { SendEmail(i); ++i; if(i<20) { setTimeout(sendEmailNow, 5000); } }