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()的返回值


具体使用如下:

//获取订单状态
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);


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

扫码支持
扫码打赏,你说多少就多少

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

精彩评论

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