考虑
setTimeout改用-更可靠。
setInterval当窗口没有焦点时,计时器可以堆叠,然后在再次获得焦点时,所有计时器立即运行。使用
setTimeout还会确保如果第一个请求由于某种原因阻塞,则不会导致多个AJAX请求排队。
要立即开始循环,请使用包裹在函数周围的IIFE(“立即调用的函数表达式”):
(function update() { $.ajax({ ... // pass existing options }).then(function() {// on completion, restart setTimeout(update, 30000); // function refers to itself });})(); // automatically invoke for first runps请勿将字符串参数用作
setInterval或
setTimeout-只需直接传递函数引用即可。



