关于setInterval运行一段时间后原本定时15s最终变成变成规律的一分钟执行一轮,ajax 1s就回复了忽略不考虑。
var it = null;
$.ajax({
type : 'POST',
url : '',
data : {
},
success : function(data) {
if(data != null && data != ""){
it = setInterval('refreshQuery()', 15000);
}else{
clearInterval(it)
}
}
}
function refreshQuery() {
console.log("心跳开始时间"+new Date())
var dataStr = '';
$.ajax({
type : 'POST',
dataType : "text",
url : '',
data : {
},
success : function(data) {
console.log("心跳回复时间"+new Date())
}
})
}
修改正常之后代码加入以下代码就正常了
clearInterval(it)
it = setInterval('refreshQuery()', 15000);
function refreshQuery() {
console.log("心跳开始时间"+new Date())
var dataStr = '';
$.ajax({
type : 'POST',
dataType : "text",
url : '/pqs9000/device/socketon',
async : true,
data : {
message : dataStr,
lineIndex:lineIndex
},
success : function(data) {
console.log("心跳回复时间"+new Date())
**clearInterval(it)
it = setInterval('refreshQuery()', 15000);**
}
})
}