在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);声明:禁止任何非法用途使用,凡因违规使用而引起的任何法律纠纷,本站概不负责。


精彩评论