JS计时器 setTimeout()与setInterval()方法的区别
setTimeout()方法是在等待指定时间后执行函数, 且只执行一次传入的句柄函数.
setInterval()方法是每指定间隔时间后执行一次传入的句柄函数,循环执行直至关闭窗口或clearInterval().
如果想用 setTimeout() 方法达到 setInterval() 方法同样的效果
可以使用函数的递归,在一个函数内部使用setTimeout()可以达到循环执行的效果示例:
<script type=”text/javascript”>
var interval;
$(document).ready(function () {
refreshSession();
interval =window.setInterval(refreshSession, 60000); //开启
})
function refreshSession() {
$.ajax({
url: \’ajax.aspx\’,
type: \’POST\’,
dataType: \’text\’,
data: “action=refreshSession”,
timeout: 60000, //超时时间60秒
async: false,
error: function (res) {
clearInterval(interval); //停止
},
success: function (res) {
alert(res);
}
});
}
</script>