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>

版权声明:本文为xust原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/xust/articles/3401716.html