js中使用clearInterval让setInterval停止执行

在javascript中我们知道setInterval()函数可以规定 每过一段时间就执行某一个js函数 也就是我们常说的"轮询" 但是 有时候我们需要在满足某些特定的情况下 停止让setInterval()函数执行 比如 我们在做支付的时候 可以做ajax轮询检测订单状态 只要订单的状态检测是已经支付的状态 那么此时我们就不需要让setInterval()来一直向服务端发起http请求。从而减少服务器压力。要停止setInterval()函数的执行 需要使用clearInterval()(id_of_setinterval)函数

id_of_setinterval:由 setInterval()返回的ID值。说白了就是setInterval()会有一个返回值,而clearInterval(id_of_setinterval)函数的参数则是setInterval()的返回值


具体使用如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
//获取订单状态
var t = setInterval(function(){
 
    var url = "{:url('orderInfo')}";
    var order_id = $("input[name='order_id']").val();
    var data = {order_id:order_id};
 
    $.post(url,data,function(msg){
 
             //订单已支付成功
 
        if(msg.order_status == 1)
        {
            clearInterval(t);  //清除定时执行
             
            //然后你可以继续做其它事情。。 具体看业务场景和具体需求了。。
        }
 
    },'json')
 
},2000);


声明:禁止任何非法用途使用,凡因违规使用而引起的任何法律纠纷,本站概不负责。

小周博客
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

精彩评论

全部回复 0人评论 7,777人参与

loading