当 ajax 返回 1 时如何删除 setTimeout 函数
How to remove setTimeout function when ajax return 1?
我创建了getAbsentMember
,以便在上午8点(办公时间)和上午9点以上为迟到的用户进行一些查询。我使用 setTimeout 函数来检查小时数。但是我想在第二个条件(大于9)中首先检查数据库中是否存在当前用户,因此如果存在,则返回1,则返回0。问题是how to remove setTimeout function if return 1(existed)
.
function getAbsentMember() {
var x = new Date();
var h = x.getHours();
var m = x.getMinutes();
var s = x.getSeconds();
if (h === 8 && m === 0 && s === 0) {
addAbsent();
}
else if(h > 9) {
$.ajax({
url : "checkingurl",
type : "GET",
dataType : "json",
success : function (c) {
if(c) {return false;}//how to remove setTimeout function[here]
else { addAbsent();}
}
});
}
setTimeout(function(){
getAbsentMember();
},1000);
}
getAbsentMember();
处理所有情况可能会变得困难,更简单的方法可能是仅在需要时添加超时
function getAbsentMember() {
var x = new Date();
var h = x.getHours();
var m = x.getMinutes();
var s = x.getSeconds();
if (h === 8 && m === 0 && s === 0) {
addAbsent();
setTimeout(getAbsentMember, 1000);
} else if (h > 9) {
$.ajax({
url: "checkingurl",
type: "GET",
dataType: "json",
success: function(c) {
if (c) {
return false;
} //how to remove setTimeout function[here]
else {
addAbsent();
setTimeout(getAbsentMember, 1000);
}
}
}).fail(function() {
setTimeout(getAbsentMember, 1000);
});
}
}
getAbsentMember();
使用 clearTimeout()
删除setTimeout
var fn =setTimeout(function(){
getAbsentMember();
},1000);
if(/*your condition*/){
clearTimeout(fn);
}
尝试此操作 在需要时添加超时
function getAbsentMember() {
var x = new Date();
var h = x.getHours();
var m = x.getMinutes();
var s = x.getSeconds();
if (h === 8 && m === 0 && s === 0) {
addAbsent();
setTimeout(getAbsentMember, 1000);
} else if (h > 9) {
$.ajax({
url: "checkingurl",
type: "GET",
dataType: "json",
success: function(result) {
if (result!=1) {
addAbsent();
setTimeout(getAbsentMember, 1000);
}
}
}).fail(function() {
setTimeout(getAbsentMember, 1000);
});
}
}
getAbsentMember();
相关文章:
- 使用php或javascript从facebook相册URL中删除多余的部分
- RegEx删除空属性?例如,如果(class=“”||class=“”)移除;否则就下课
- setInteval vs setTimeout
- 如何删除多行HTML排列中的空白
- 如何从rails中的代码中删除新行( )
- 删除对HTML元素的拖动
- 当图像转换为本地存储的DataURL时,EXIF被删除
- 按顺序添加和删除类
- 如何在chrome扩展中存储数据/结果,以及如何使用setTimeout使其只被调用一次
- iframe正在添加标签,需要删除它们
- 如何在HTML输入字段中添加不可删除的后缀
- addData()从最新图表中删除.js 2.1.3-怎么了
- 如何覆盖锚点元素's href目标,并在我点击转到目标javascript时删除其他错误
- 删除CKEditor工具栏按钮,但不删除功能
- 如何使用setTimeout添加和删除CSS类n次
- 如何删除 settimeOut 的队列工作
- 如何使用 SetTimeout,根据动态追加时间删除动态追加的元素
- 当 ajax 返回 1 时如何删除 setTimeout 函数
- 使用 setTimeout() 函数从本地存储中删除项目
- 我如何从这个casperjs代码中删除堆栈溢出(使用setTimeout)